Stephen F. Austin State University

Bachelor of Science

For more information on the Bachelor of Science degree, please see the BS General Bulletin.

For specific course syllabi, please visit Course Information.

Computer Science

OBJECTIVES

The digital computer is one of the most useful devices developed by mankind. Computer science is the discipline concerned with the study of this device and how it can be used to process information and help solve complex problems.

The computer science curriculum is designed to allow the future computer specialist to obtain a broad education coupled with detailed knowledge in computer science sufficient to lay a foundation for professional competence in the computing field. Non-specialists may also take computer science courses that will acquaint them with computing capabilities applicable to their main field of endeavor.

COMPUTER SCIENCE PROGRAM ACCREDITATION

The Bachelor of Science degree program with a major in computer science is accredited by the Computing Accreditation Commission of ABET Inc.

STUDENT ORGANIZATIONS

The Computer Science Club is sponsored by the Department of Computer Science and is open to all students. This organization should be of particular interest to students who desire to become acquainted with the computing profession, computing professionals and students with similar interests.

Membership in Upsilon Pi Epsilon, the computer science honor society, is for select juniors, seniors and graduate students who maintain specified scholastic standards. Students who want to be considered for this honor should consult the Delta Chapter faculty adviser or a student officer.

DEFINITION OF MAJORS

Bachelor of Science Degree - Computer Science Major

General Requirements:

Students must satisfy the requirements for the Bachelor of Science degree with a major in computer science as listed in the College of Business section of this bulletin.

Computer Science Major Requirements (43 hours)

  1. CSC 102, 202, 211, 214, 241 (15 hours)
  2. CSC 321 or 331, 323, 333, 342, 343 (15 hours)
  3. CSC 411 (1 hour)
  4. Nine hours from: CSC 425, 435, 441, 442, 445 (9 hours)
  5. Three advanced hours of computer science (3 hours)
    (excluding CSC 340, 350, 351, 353, 355, 385, 412, 452 and 455)
DEFINITION OF MINORS

Computer Science Minor Requirements (21 hours)

  1. CSC 102, 202, 211, 214, 241 (15 hours)
  2. Six advanced hours of computer science [6 hours (excluding CSC 340, 350, 351, 353, 355, 385, 411, 412, 452 and 455)]

At least 12 hours of computer science (six of which must be advanced) must be completed at SFA.

Must maintain a 2.0 GPA in minor courses completed at SFA, in advanced computer science courses at SFAand in computer science transfer courses.

Other Computer Users

  1. CSC 101 - Introduction to Computing
  2. CSC 121 - Introduction to Information Processing Systems
  3. CSC 340 - Application Software for Microcomputers
  4. CSC 350 - Internet Technologies
  5. CSC 351 - Internet Programming Concepts
  6. CSC 353 - System Administration
  7. CSC 355 - Network Administration
  8. CSC 452 - Database Application Development
  9. CSC 455 - Enterprise Security

Suggested Course Sequence

Freshman Year (33 hours)

Freshman English 3 Freshman English 3
Science 4 Science 4
MTH 139 3 MTH 233 3
CSC 102 3 CSC 202 3
Core Elective 3 Core Elective 3
16 17

Sophomore Year (33 hours)

COM 111 3 ENG 273 3
Science 4 Science 4
MTH 234 4 MTH 220 3
CSC 211 3 CSC 241 3
CSC 214

3

Minor or Core Elective 3
17 16

Junior Year (30 hours)

CSC 323 3 CSC 321 or 331 3
CSC 342 3 CSC 333 3
CSC 343 3 Core Electives 9
English Literature 3
Minor or Core Elective 3
15 15

Core & Remaining Requirements

  1. Three hours from: ART 280, 281, 282; DAN 140, 341; MHL 245; MUS 140; THR 161, 370
  2. Three hours from: ENG 200-233H; HIS 151, 152; PHI 153, 223
  3. Three hours from: ANT 231; ECO 231, 232; EPS 380; GEO 131, 230; PSY 133, 153; SOC 137, 139
  4. HIS 133, 134
  5. PSC 141, 142
  6. CSC 411 (one hour) and nine semester hours from: CSC 425, 435, 441, 442, 445
  7. Three advanced hours of computer science (restricted)
  8. Minor thread or elective hours as required

Minimum of 24 semester hours needed to complete the degree program in the senior year.

No student may enroll in any business course numbered 300 or higher unless 60 hours of course work will have been completed by the end of the semester for which the student is enrolling.

At that time the following courses should have been completed:

COURSES IN COMPUTER SCIENCE (CSC)

A student must have a grade of C or higher in all courses that are prerequisite to a computer science course before enrolling in that course. Unless otherwise indicated, each course carries three semester hours credit and three hours lecture per week.

101. Introduction to Computing - General study of computer types, capabilities, uses and limitations. Use of operating systems and application software on a microcomputer. Use of network environments to access online resources. Introduction to problem solving using a computer. Prerequisite: two years of high school algebra or equivalent. Credit not available for students who have taken CSC 121. May not be taken by business majors.

102. Computer Science Principles - Fundamental concepts of computer systems and systems software and an overview of computer science issues. Problem solving and program development using a high-level programming language. Prerequisite: eligibility for enrollment in college algebra.

121. Introduction to Information Processing Systems (BCIS 1305) - General study of computer types, capabilities, uses and limitations from a business-oriented perspective. Use of operating systems and application software on a microcomputer. Use of network environments to access online resources. Introduction to problem solving using a computer. Prerequisite: eligibility for enrollment in a 100-level college mathematics course. Credit not available for students who have taken CSC 101.

201. Introduction to Computer Programming (COSC 1317) - Basic techniques for solving problems by use of a digital computer. Emphasis on application of the computer as a quantitative tool and on the use of the FORTRANlanguage. Prerequisite: two years of high school algebra or equivalent.

202. Computer Programming Principles - Problem solving and algorithm design, program structures, data types, software development methods, and programming style. Prerequisite: CSC 102.

211. Event-Driven Programming - Emphasis on problem analysis, solution design and programming methods. Implementation of commercial applications. Prerequisite: CSC 102.

214. Computer Organization - Binary representation of data and instructions, arithmetic and logical data operations, hardware structures, memory organization, and addressing of data and data structures. Machine language and assembly language instructions and programming, hardware/software interface, and selected programming techniques. Prerequisite: CSC 202.

241. Data Structures - Advanced programming techniques, including indirection and recursion. Conceptual development and implementation of data structures, including arrays, records, linear lists, stacks, queues, trees, tables and graphs. Applications involving strings, sorting, searching and file operations. Prerequisites: CSC 202; CSC 211 recommended.

301. A Contemporary Programming Language - One to three semester hours. Language constructs and applications area. Control structures, input/output, data structures. Use of language in problem solution implementation. May be repeated once for a different language. Prerequisite: six hours of computer science or the equivalent. Additional prerequisites may vary with different languages.

321. Programming Methods and File Structures - Programming efficiency techniques, debugging techniques and file processing for applications in business. Comprehensive programming assignments. Prerequisites: CSC 202, 211.

323. Software Engineering - Current software engineering theory and practice. Methodologies, techniques and tools of software engineering. Prerequisite: CSC 241.

331. Object-Oriented Programming Methods - Use of a modern object-oriented programming language for industrial applications emphasizing contemporary development practices. Comprehensive programming assignments. Prerequisites: CSC 202, 211.

333. Discrete Structures for Computer Science - Mathematical structures for describing data, algorithms and computing machines. Theory and applications of sets, relations, functions, combinatorics, matrices, graphs and algebraic structures, which are pertinent to computer science. Prerequisites: CSC 202; MTH 233 or 144.

340. Application Software for Microcomputers - Advanced utilization of spreadsheet software. Utilization of database software. Operating systems and disk management skills. May not be used to satisfy computer science requirements for a computer science or computer information systems major or a computer science minor. Prerequisite: CSC 101 or 102 or 121.

342. Algorithm Analysis - Study of algorithm design, analysis tools and techniques for selected problems, including sorting, searching, graphs, branch and bound strategies, dynamic programming, algebraic methods, string matching, and sets. An introduction to order notation, timing routines and complexity classes. Prerequisites: CSC 214, 241.

343. Computer Architecture - Architectural structure and organization of computers. Analysis of the processor components, memory structure, I/O section and bus. Study of system component interrelationships and interactions with the operating system. Prerequisites: CSC 214; CSC 241 recommended.

350. Internet Technologies - Technology, structure, limitations and uses of the Internet. E-commerce and digital transactions. Web page design. May not be used to satisfy computer science requirements for a computer science or computer information systems major or a computer science minor. Prerequisites: CSC 101, 102 or 121.

351. Internet Programming Concepts - Introduction to Internet application programming using scripting languages and user-interface design in a server-delivered, browser-based environment. May not be used to satisfy computer science requirements for a major or minor in computer science or computer information systems. Prerequisites: CSC 202 and 350; or CSC 241.

353. System Administration - The configuration, installation and maintenance of a computer using a current operating system in a networked environment. Emphasis will be placed on resource management, performance and security. May not be used to satisfy computer science requirements for a major or minor in computer science or computer information systems. Prerequisites: CSC 202 or 211.

355. Network Administration - Network administration principles, tools and techniques, including network installation, configuration, operation and maintenance. Exploration of current issues, topics and trends in network development. May not be used to satisfy computer science requirements for a major or minor in computer science or computer information systems. Prerequisite: CSC 202.

385. Internship in Computer Science - One to three semester hours. Supervised on-the-job training in one or more facets of the field of computer science. Prerequisites: Advanced standing as a major or minor in the Department of Computer Science, three advanced hours of computer science, overall GPA of 2.5 or higher, computer science GPA of 2.5 or higher and consent of the CSC 385 course supervisor. May not be used to satisfy computer science requirements for a computer science or computer information systems major, or any minor in the Department of Computer Science. May be repeated to a total of three hours credit. Pass or fail.

401. Contemporary Topics in Computer Science - One to three semester hours. Study of recent developments and topics of current interest in computer science. Astudent may repeat this course once with department chair approval. May be used only once to partially satisfy the 400-level course requirement in computer science. Prerequisites: six advanced hours of computer science or department chair approval. Particular prerequisites may vary with different topics.

411. Ethics in Computer Science - One semester hour. Study of ethical concepts to guide computing professionals. Implications and effects of computers on society. Responsibilities of computing professionals in directing emerging technology. May not be used to satisfy requirements toward a minor in computer science, computer information systems or information technology. Prerequisites: 18 hours of computer science with at least six hours advanced and department chair approval.

412. Computer Science Practicum - Operation and supervision of computer facilities in a production and student environment. May not be used to satisfy advanced computer science requirements for a computer science or computer information systems major, or any minor in the Department of Computer Science. Prerequisites: 18 hours of computer science with at least six hours advanced and department chair approval.

421. Applied Operations Research - Quantitative techniques for resource management, decision-making and system analysis with emphasis on development and use of computer implementations of mathematical models. Prerequisites: CSC 241; MTH 144 or 233; MTH 220.

425. Database Management Systems - Study of database management systems. Design and implementation of applications using database management systems. Prerequisites: CSC 241; CSC 321 or 331; three additional advanced hours of computer science excluding CSC 340, 350, 351, 353, 355, 385, 411, 412, 452 and 455.

426. Requirements Engineering and System Modeling - Study of the methodology for building a complete application system. Emphasis on critical analysis of existing systems and design of computer-based systems. Prerequisite: CSC 323.

431. System Simulation and Model Building - Simulation methodology, generation of random variants, design of experiments with deterministic and stochastic models. Prerequisites: CSC 241; MTH 144 or 233; MTH 220.

435. Teleprocessing and Data Communications - Functional evolution and role of data communications. Considerations in data communications. Applications in general. The design issues. System components and their interrelationships. Networks. Prerequisites: CSC 241, 343.

441. Principles of Systems Programming - Operating systems principles, systems utilities, language processors and user interfaces. Prerequisites: CSC 214, 241; CSC 323 or 342 or 343.

442. Organization of Programming Languages - Language definition, structure, data types, control structures, parameter passage, subprogram interface and block-structured language. Information binding, data storage and mapping, execution environments, input/output, recursion, multiprocessing. Prerequisites: CSC 241; CSC 323 or 342 or 343.

445. Computer Graphics - Overview of the hardware, software and techniques used in computer graphics. Graphics primitives, two-dimensional transformations, painting, windowing and clipping. Three-dimensional graphics, including hidden lines and surfaces, lighting, texturing, and shading. Prerequisites: CSC 241; CSC 323 or 342 or 343; MTH 133.

452. Database Application Development - Applied study of the logical and physical organization of database systems and their role in information technology. Design and implementation of applications using database management systems. May not be used to satisfy computer science requirements for a major or minor in computer science or computer information systems. Prerequisites: CSC 211, 340.

455. Enterprise Security - Practical approaches to ensuring the security of information systems. May not be used to satisfy computer science requirements for a major or minor in computer science or computer information systems. Prerequisites: CSC 353, 355.

475. Special Problems - One to three semester hours. Individual instruction in a computer science. May be repeated once for a different topic with department chair approval. Prerequisites: junior standing and department chair approval.

See General Bulletin.