Computer Science (CS)

All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.

CS 1300. Introduction to Computers. 3 Semester Hours.

Survey of computer systems and their integration and application in society. The fundamentals of software development are discussed and applied through word processing, spreadsheet, slide presentation, and database applications.

CS 1310. Programming I. 3 Semester Hours.

Fundamentals of the software development process with emphasis on program design (algorithm development), structured programming techniques and code and test using a structured, modular programming language. (Fall only) Students must have a minimum SAT Math >= 520 or ACT Math >= 22 or prerequisite of MT 1303.

CS 1311. Programming II. 3 Semester Hours.

Properties, representation, and manipulation of internal information structures including lists, queues, stacks, and trees. (Spring only) Prerequisite: CS 1310. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 1320. Topics in Programming Languages. 3 Semester Hours.

Various topics in computer programming, involving designing, coding, and testing computer programs using language-specific commands. May be repeated as topics change.

CS 2110. Sophomore CS Seminar. 1 Semester Hour.

Introduction to various topics in computer science and career planning/preparation, including electronic portfolio and resume preparation, interviewing skills, employer research, professional event attendance/networking, and presentations from industry on careers in computer science, as well as internship/job opportunities. (Fall only) Prerequisite: CS major (BSCS, BACIS, BAAS, and BACSTC).

CS 2313. Object Oriented Programming I. 3 Semester Hours.

Introduction to object-oriented programming (OOP) concepts using the C++ programming language. Topics include classes, objects, exception handling, operator overloading, inheritance, polymorphism, templates (generics), stream and file input/output, and the Standard Template Library (STL). (Fall only) Prerequisite: CS1311. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 2315. Algorithms. 3 Semester Hours.

Topics include review of C programming language concepts and theory, design, analysis, implementation, and application of fundamental computer algorithms. (Fall only) Prerequisite: CS1311. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 2323. Object Oriented Programming II. 3 Semester Hours.

Review of object-oriented program (OOP) concepts using the Java programming language. Topics (in addition those listed for CS2313) include graphical user interface (GUI) design and implementation, regular expressions, applets, multithreading, networking, and database access. (Spring only) Prerequisite: CS2313. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 2350. Computer Architecture. 3 Semester Hours.

Introduction to the logical organization and design of digital computer hardware. Topics include simple digital logic design, memory architectures, microprogramming, instruction set architecture (ISA), and assembly language programming. (Spring only) Prerequisite: CS2315. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 3110. Junior CS Seminar. 1 Semester Hour.

Extension of various topics in computer science and career planning/preparation, including electronic portfolio and resume preparation, interviewing skills, employer research, professional event attendance/networking, and presentations from industry on careers in computer science, as well as internship/job opportunities. (Fall only) Prerequisite: CS major (BSCS, BACIS, BAAS, and BACSTC).

CS 3310. Intro to Systems Analysis and Design. 3 Semester Hours.

An introduction to the use of current methodologies for the analysis and design of various types of computer software systems. Methodologies studied include both the traditional and object-oriented approaches, including Universal Markup Language (UML). (Fall only).

CS 3311. Compilers. 3 Semester Hours.

Design and implementation of compilers. Prerequisite: CS1311 (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 3335. Survey of Programming Languages. 3 Semester Hours.

Survey of existing high-level computer programming languages with emphasis on implementation of language concepts. Students design a general-purpose programming language and develop a working compiler for their language. (Fall only) Prerequisite: CS2323. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 3340. Software Engineering. 3 Semester Hours.

Engineering approach to software development focusing on product development in a team with appropriate documentation. (Spring only) Prerequisite: CS2313 and CS2315. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 3350. Operating Systems. 3 Semester Hours.

The study of the design and implementation of computer operating systems, including issues in process, memory, file system, storage, and device management. (Fall only) Prerequisite: CS2313.

CS 4110. Senior CS Seminar. 1 Semester Hour.

Further extension of various topics in computer science and career planning/preparation, including electronic portfolio and resume preparation, interviewing skills, employer research, professional event attendance/networking, and presentations from industry on careers in computer science, as well as internship/job opportunities. (Fall only) Prerequisite: CS major (BSCS, BACIS, BAAS, and BACSTC).

CS 4175. Advanced Topics. 1 Semester Hour.

Advanced topics in Computer Science. May be repeated for credit when topics vary. Prerequisite: Instructor permission.

CS 4275. Advanced Topics. 2 Semester Hours.

Advanced topics in Computer Science. May be repeated for credit when topics vary. Prerequisite: Instructor permission.

CS 4315. Artificial Intelligence. 3 Semester Hours.

An overview of the field of artificial intelligence including knowledge representations, search, natural language processing and expert systems. Prerequisite: CS 2313.

CS 4320. Files & Databases. 3 Semester Hours.

Database system concepts, relational data model and relational database, SQL, relational algebra, entity relationship model, UML diagrams, database programming techniques, functional dependencies and database normalization, database security. File structures, XML files, indexing, hashing, B trees, and B+ trees. (Fall only).

CS 4325. Computer Graphics. 3 Semester Hours.

The study and implementation of computer imaging and techniques for representation, manipulation and display of graphical objects. Prerequisite: CS 2313.

CS 4330. Data Communication. 3 Semester Hours.

Fundamentals of data communications, TCP/IP protocol architecture, media, transmission, encoding, error detection and handling, link control, flow control, multiplexing. Local area networks. WAN technology and protocols, circuit and packet switching, IP, routing. Wireless networks. Different applications. (Spring only).

CS 4335. Game Development. 3 Semester Hours.

A study of computer games and computer game development including evaluating, designing, and developing a computer video game with appropriate documentation. Prerequisites: CS2313. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 4345. eLearning and Gamification. 3 Semester Hours.

A study of computer based tutoring systems, intelligent tutoring systems, and the gamification of instruction. Students evaluate computer tutors and make a tutor. Prerequisites: CS2313. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).

CS 4375. Advanced Topics. 3 Semester Hours.

Advanced topics in Computer Science. May be repeated for credit when topics vary. Prerequisite: Instructor permission.

CS 4395. Senior Project. 3 Semester Hours.

Application of software engineering techniques to the analysis, design, implementation, and testing of a comprehensive computer software development project. (Spring only) Prerequisite: CS3340 and Senior standing or higher. (All courses serving as prerequisites in the School of Science, Engineering and Technology must be completed with a “C” or better in order to advance to the next sequenced course.).