CSC 1103     Freshman Seminar                                                              Credit: 1 hr.
This course is designed to provide entering freshmen and new students with an orientation to the university. The student will become knowledgeable of the traditions of the university and be introduced to various academic concentrations, academic requirements and regulations, extracurricular activities, and other general information. Survival skills that enable the students to cope with academic life and to develop a better understanding of themselves will be stressed. (Class meets for one hour each week. Attendance is required.) Cross-listed with FYC 1103.  Prerequisite: Computer Science or Computer Technology  pre-major.

CSC 1105     Computer Science Colloquium                                          Credit: 1 hr.
This course concentrates on strategies for success in computer science. The course concentrates on broadening students’ general knowledge of computer science as well as developing critical thinking and problem solving skills using current technologies and computing tools.  Prerequisite: Computer Science or Computer Technology pre-major.

CSC 1306     The Computer and its Use I                                               Credit: 3 hrs.
This course provides an introduction to the use of digital computers, applications software, I/O devices, storage devices, systems software, software evaluation, and computer ethics. Laboratory sessions include extensive hands-on experience using word processing, database, spreadsheet, and other software used in various fields of study. Laboratory work required. 

CSC 1307    Introduction To Computer Technology                                              Credit: 3 hrs.
Topics include the history and overview of computer hardware and software.  It provides more advanced exposure to commonly used software, including database programming, spreadsheet functions, computer graphics applications design, desk-top publishing, ethics, security and other applications.   Laboratory work required.  Prerequisite:  Enrollment in the Computer Technology Major 

CSC 1308                 Introduction To Programming                                                              Credit: 3 hrs.
This course provides an introduction to event-driven programming using Visual Basic or a similar programming language. Topics include the programming environment, objects, events, code, properties, statements, subprograms, data types, input-output, and user interface design.  Prerequisite:  CSC 1307 or Permission of the Department Chairperson.

CSC 1310     Computer Programming I                                                 Credit: 3 hrs.
This course is an introduction to problem-solving methods and algorithm development. It includes program design, coding, debugging and documentation using a high-level language. Laboratory work required. Prerequisites: MAT 1311 with a C or higher or equivalent score on the placement test.

CSC 1311     Computer Programming II                                                Credit: 3 hrs.
This course offers continued development in program design. Larger programs are introduced incorporating string and file processing, internal search/sort methods, and simple data structures. Laboratory work required. Prerequisite: CSC 1310.

CSC 2131     Special Topics in Computer Science—Level 2                  Credit: 1 hr.
This course is a study of specific new areas merging in computer science suitable for students at the sophomore level. Prerequisite: CSC 1311.

CSC 2141     SAS Lab                                                                                 Credit: 1 hr.
This course introduces students to statistical programming using SAS (Statistical Analysis System). Practical statistical, graphics, and data management problems will be solved. Prerequisite: MAT 2326 or MAT 3310.

CSC 2160     UNIX Lab                                                                               Credit: 1 hr.
This course covers UNIX operating systems commands, the use of directories, files, text manipulation, and user-to-user communication. Prerequisite: CSC 1311.

CSC 2181     BASIC Lab                                                                            Credit: 1 hr.
This course introduces students to BASIC and visual BASIC programming syntax. Prerequisite: CSC 1311.

CSC 2183     JCL (Job Control Language) Lab                                       Credit: 1 hr.
This course covers fundamentals of job control language for large-scale IBM computer systems, job, data, and resource management. Prerequisite: CSC 2301.

CSC 2184     Internet Lab                                                                          Credit: 1 hr.
This laboratory course introduces students to Webpage development languages and tools. Students will learn mechanics, design aspects, and bandwidth conservancy. Projects will be required. Prerequisite: CSC 1311.

CSC 2301     COBOL Programming                                                      Credit: 3 hrs.
This course offers an application of programming techniques to solve commercial data processing problems using COBOL. Prerequisite: CSC 1311.

CSC 2303     FORTRAN Programming                                                   Credit: 3 hrs.
This course covers principles of FORTRAN Programming for scientific and mathematical computation. Topics include FORTRAN syntax, data representation, file processing, control structures and loops, arrays, subroutines, subprograms, and advanced topics. Laboratory work required. Prerequisite: CSC 1311.

CSC 2310     Introduction to Computer Software Systems                  Credit: 3 hrs.
This course provides an introduction to computer architecture, systems programs, machine organization, instructions, data representation, and addressing. Topics covered include assemblers, linkers, loaders, operating systems, and elementary assembler language programming. Laboratory work required. Prerequisite: CSC 1311.

CSC 2311     Java Programming                                                             Credit: 3 hrs.
This course provides an introduction to the Java programming language. Topics include Java applications, applets, fundamental data types, objects, decisions, iteration, functions, classes, arrays, file I/O, Java class libraries, and packages. Prerequisite: CSC 1311.

CSC 2320     Introduction to Computer Hardware Organization       Credit: 3 hrs.
This course covers the organization and functional design of computer components such as the memory unit, arithmetic and logic unit and I/O devices. Other topics include data channels, interrupts, micro-programming and design of simple combinatorial circuits. Laboratory work required. Prerequisite: CSC 1311.

CSC 2330     The Computer and its Use II                                             Credit: 3 hrs.
This course is a continuation of CSC 1306. It provides more advanced exposure to commonly used software, including computer graphics applications design, desktop publishing, database programming, spreadsheet functions, and other applications. Laboratory work required. Prerequisite: CSC 1306.

CSC 2331     Data Structures                                                                   Credit: 3 hrs.
This course emphasizes data structures and the development and analysis of their associated algorithms. Specific data structures will include linear lists, arrays, trees, graphs, stacks, queues, and tables. Pointer variables and recursion will be used. Applications will include searching and sorting. Prerequisite: CSC 1311. (Cross listed with CSC 3371.)

CSC 2350     C\C++ Programming                                                          Credit: 3 hrs.
This course provides an introduction to the Programming Language C\C++. Practical applications and special features of the language are emphasized.  Laboratory work required. Prerequisite: CSC 1311.

CSC 3130     Computer Science Internship                                       Credit: 1-3 hrs.
The internship in computer science is designed to provide students practical experience in the corporate or research computing environment. Computer Science internships are coordinated by the department and may be repeated. Prerequisites: Approval of the department chair and admission to the major.

CSC 3131     Special Topics in Computer Science—Level 3             Credit: 1-3 hrs.
This course is a study of specific new areas emerging in computer science suitable for students at the junior level. Prerequisite: CSC 2331.

CSC 3310     Introduction to File Processing                                         Credit: 3 hrs.
This course is a study of the design of file processing programs, file access and organization methods, concepts and techniques of structuring, and accessing data on bulk storage devices and databases. Laboratory work required. Prerequisite: CSC 2331.

CSC 3321     Operating Systems                                                             Credit: 3 hrs.
This course is a study of the operating system. Topics include concepts of system structure, memory management, process management, and recovery procedures. Prerequisite: CSC 2320.

CSC 3322     Computer Architecture                                                     Credit: 3 hrs.
This course focuses on design alternative in computer architecture. It covers instruction set architectures, memory subsystem organization, interfacing concepts, and interprocessor communication. Architectures to be studied will include data flow machines, vector and array processors, and pipeline architectures. Concepts related to parallel and distribution algorithms will also be studied. Prerequisite: CSC 3321.

 CSC 3323               System Administration I                                                                       Credit: 3 hrs.
This course prepares students to administer a computer system. Intensive laboratory experiences develop skills in operating system administration, software configuration, fundamentals of security, and procedures in a networked environment.  Prerequisite:  CSC 3321

CSC 3331     Analysis of Algorithms                                                      Credit: 3 hrs.
This course covers the analysis and design of various algorithms using divide-and-conquer, greedy, backtracking, branch-and-bound, NP-hard, and NP-complete methods. Prerequisite: CSC 2331.

CSC 3332     Fundamentals of Internet Systems                                  Credit: 3 hrs.
This course addresses the structure and functionality of the Internet and software that exploits it. Topics include mark up languages, Web tools, static dynamic and active Web pages, multimedia in Web applications, communication protocols, client-server computing, scripting, group communication support, e-commerce, and security. Topics also include systems for organizing and coordinating work at different sites that exploit the Internet, and architectures to exploit the distributed computational power offered by the Internet. Prerequisite: CSC 2184.

CSC 3340     Introduction to Numerical Analysis                                 Credit: 3 hrs.
This course covers theory and application of algorithms for numerical computation, approximation, interpolation, numerical differentiation and integration, solution of linear, and ordinary differential equations. Prerequisites: CSC 1311 and MAT 2316. (Cross-listed with MAT 3340).

CSC 3341     Algebraic Structures                                                          Credit: 3 hrs.
This course covers the basic algebraic properties of groups, rings, and fields. Prerequisites: MAT 2316 and 2337. (Cross-listed with MAT 3341).

CSC 3342     Computer Graphics                                                            Credit: 3 hrs.
This course is a study of principles and techniques of interactive computer graphics, display processors and devices, graphics programming languages, and algorithms for managing graphics data. Prerequisites: CSC 2331 and MAT 2410, or permission of instructor.

CSC 3351     Data Communications                                                       Credit: 3 hrs.
This course is an introduction to data communications. Topics include asynchronous and synchronous communication models, telephone switching systems, error detection, protocols, packet switching, information transmission systems, modulation systems, and computer network technology. Prerequisite: CSC 2320.

CSC 3355     Principles of Database Management                                Credit: 3 hrs.
This course covers concepts of logical and physical data structures, data security, and accuracy. It includes an overview of basic approaches to database organization and implementation and hands-on interaction with at least one hierarchical, network, or relational model database. Prerequisite: CSC 2320.

CSC 3360     Fundamentals of Programming                                        Credit: 3 hrs.
This course is an introduction to problem-solving methods and algorithm development. It includes program design, coding, debugging, and documentation using a high level language. Laboratory work required. Prerequisite: Admission to the Certificate Program. (Cross-listed with CSC 1310).

CSC 3361     Intermediate Programming                                              Credit: 3 hrs.
This course offers continued development in program design. Larger programs are introduced incorporating string and file processing, internal search/sort methods, and simple data structures. Laboratory work required. Prerequisites: Admission to the Certificate Program and CSC 3360. (Cross-listed with CSC 1311).

CSC 3370     Fundamentals of Internet Systems                                 Credit: 3 hrs.
This course addresses the structure and functionality of the Internet and software that exploits it. Topics include mark up languages, Web tools, static dynamic and active Web pages, multimedia in Web applications, communication protocols, client-server computing, scripting, group communication support, e-commerce, and security. Topics also include systems for organizing and coordinating work at different sites that exploit the Internet, and architectures to exploit the distributed computational power offered by the Internet.
(Cross-listed with CSC 3332).

CSC 3371     Applied Data Structures                                                    Credit: 3 hrs.
This course emphasizes data structures and the development and analysis of their associated algorithms. Specific data structures will include linear lists, arrays, trees, graphs, stacks, queues, and tables. Pointer variables and recursion will be used. Applications will include searching and sorting. Prerequisites: Admission to the Certificate Program and CSC 3361. (Cross-listed with CSC 2331).

CSC 3373     Web Programming                                               Credit: 3 hrs.
This course offers an application of programming techniques to solve problems. Prerequisites: Admission to the Certificate Program and CSC 3361. (Cross-listed with CSC 4356).

CSC 3374     File Management                                                                Credit: 3 hrs.
This course is a study of the design of file processing programs, file access and organization methods, concepts and techniques of structuring, and accessing data on bulk storage devices. Prerequisites: Admission to the Certificate Program and CSC 3371. (Cross-listed with CSC 3310).

CSC 3390     Artificial Intelligence                                                        Credit: 3 hrs.
This course covers definition of heuristic versus algorithmic methods, rationale of the heuristic approach, description of cognitive processes, objectives of work in artificial intelligence, simulation of cognitive behavior, and heuristic programming techniques. It also includes a survey of examples from representative application areas including expert systems, the mind-brain problem, and the nature of intelligence. Individual projects to illustrate basic concepts are required. Prerequisites: CSC 2331 and MAT 2337.

CSC 3391     Computer Science Co-Op                                                 Credit: 3 hrs.
This course is designed for students for whom a half-time work experience is more appropriate. In such cases, students will usually be enrolled in courses other than Cooperative Education at the university part-time while involved in a work/learning experience for 20 hours per week. Procedures for approvals of placement and credits toward graduation are the same as for 3691 and 4691. Prerequisite: Approval of the department chair.

CSC 3691     Computer Science Co-Op                                                 Credit: 6 hrs.
Offers students an opportunity to prepare for their chosen careers by combining academic theory and actual work experience. The work experience is to be full-time paid work for approximately 15 weeks. The Cooperative Education staff, the employer, the student and the student’s major department must agree on the employment terms and the learning experience to be gained. The academic grade (A, B, C, D, F) is the responsibility of the student’s major department, with due consideration given to the employer’s evaluation of the student. The student may enroll in this course in two non-consecutive semesters for a total of 12 credit hours. Six hours can count toward the student’s computer science requirements. Prerequisites: Approval of the student’s major department and the staff of Cooperative Education.

CSC 4001     Special Topics In Computer Science                             Credit: 1-3 hrs.
This course is a study of specific new areas emerging in computer science. May be repeated for up to 6 semester hours. Prerequisites: Admission to the major and permission of the instructor and department chair.

CSC 4322     Parallel Computing                                                           Credit: 3 hrs.
This specific course is an introduction to the practical and theoretical foundations of parallel processing. Topics include data and control parallelism, the PRAM of parallel computation, parallel processor organizations, parallel programming languages and paradigms, scheduling and a variety of parallel algorithms. Laboratory projects include design and implementation of parallel algorithms on a network or a parallel simulator.  Prerequisite: CSC 3321.

 CSC 4323               System Administration II                                                                   Credit: 3 hrs.
A continuation of CSC 3323 - System Administration I, this course provides more comprehensive exposure to PC operating system administration, client-server administration, network administration, UNIX/Linux administration, and system security.  Prerequisite:   CSC 3323

CSC 4340     Organization of Programming Languages                     Credit: 3 hrs.
This course covers theoretical and practical study of the definition, application and implementation of programming languages. It includes linguistic concepts of syntax and semantics, translation of high-level languages into executable form. Data structuring, sequencing constructs and modularization features of representative languages. Prerequisite: CSC 2331.

CSC 4350     Software Engineering                                                        Credit: 3 hrs.
This course features state-of-the-art techniques for software design, team management, and product development. Students will gain experience in actual software development, including requirements, specifications, coding, debugging, testing, and installation of a major software project. This is a project course. Prerequisites: CSC 3321.

CSC 4355     Database Management Design and Development           Credit: 3 hrs.
This course covers advanced topics of database management system design. Students will gain practical experience in planning, evaluating, and using database management system technology. Prerequisite: CSC 3355.

 CSC 4356               Web Programming                                                                                  Credit: 3 hrs.
This course provides an introduction to web programming using XML, Java Server Pages, Java Script and the family of technologies that evolve around web programming. The course balances conceptual topics with practical skills for designing and implementing conceptual models as XML schemas. Prerequisite:  CSC 3332.

CSC 4383     Introduction to Computational Modeling                       Credit: 3 hrs.
This course provides an introduction to several modeling tools (with an emphasis on designing computational models using commercial and grant sponsored modeling software and courseware) to investigate authentic scientific problems. This course includes an introduction to computational science, computational solutions to problems such as population dynamics, environmental relationships, and modeling of other scientific phenomena. Prerequisite: CSC 1311,   Junior level in the students major, or permission of the department chair.

CSC 4384     Advanced Computer Graphics                                          Credit: 3 hrs.
This course covers advanced topics in computer graphics with a focus on three-dimensional (3D) graphics modeling techniques. Topics include: viewing, illumination, shading, basic rendering, geometric modeling, curves and surfaces, animations, advanced rendering and applications. Program projects, written and oral reports are required. Prerequisites: CSC 3342 and MAT 2316.

CSC 4385     System Simulation and Modeling                                    Credit: 3 hrs.
This course covers model construction and simulation applied to problems taken from such diverse fields as economics, social science, communication networks, and computer systems. It includes programming in simulation languages such as SIMSCRIPT, SIMULA or GPSS. Prerequisites: CSC 2331 and MAT 3310.

CSC 4386     Automata, Formal Languages, and Computability        Credit: 3 hrs.
This course provides an introduction to computer science theory and the mathematical foundations of digital computers. Its topics include the family of computing machines (finite-state, push-down, and Turing), the Chomsky hierarchy of languages, decidability, unsolvable problems, and applications of automata to areas of syntactic analysis, modeling, and artificial intelligence. Prerequisites: CSC 4340 and MAT 2337, or consent of instructor. (Cross-listed with MAT 4386).

CSC 4387     Seminar in Computer Science                                         Credit: 3 hrs.
This course offers students an opportunity to pursue the investigation of current research areas and career options in computer science. Written and oral presentations are required. Prerequisites: senior standing, CSC 3321, and MAT 3310.

CSC 4388     Systems Design and Development                                    Credit: 3 hrs.
This capstone course provides depth in the application and integration of core computer science concepts. Emphasis is placed on integration of design and development techniques with concepts of operating systems, data structures, file processing, computer architecture and software engineering. Business and scientific systems are developed. Written and oral presentations are required. Prerequisites: CSC 3321, and senior standing.

CSC 4389     Computer Communication Networks                              Credit: 3 hrs.
This course covers advanced concepts of computer communication networks, including packet switching, local area networks, wide area networks, network protocols and architectures. Students will engage in projects that may include communication architecture implementation, networking technology assessment, network performance evaluation, and network administration. Prerequisite: CSC 3351.

CSC 4390     Directed Study                                                                 Credit: 1-3 hrs.
This advanced course requires an independent project approved by the instructor. Prerequisites: Admission to the major, consent of the instructor and Department Chairperson.

CSC 4391     Computer Science CO-OP                                                Credit: 3 hrs.
(See the course description for CSC 3391)

 CSC 4392        Computer Technology Seminar                                                  Credit: 3 hrs.
This course is required for students who elect to take a certification exam.  The course prepares students for the appropriate computer technology certification exam.  Prerequisite:  CSC 3323

CSC 4691     Computer Science CO-OP                                                Credit: 6 hrs.
(See the course description for CSC 3691)