CPSC 3118. Graphical User Interface Development (3-0-3) Prerequisite: CPSC 1302 with a grade of C or better. The primary purpose of this course is to provide experience and skills in designing and programming event-driven Windows applications using a visual development environment and tools. This course highlights the use of Visual Basic.NET to create graphical user interfaces. Extensive lab work and programming required.
CPSC 3125. Operating Systems (3-0-3) Prerequisites: CPSC 2105 and CPSC 2108, both with grades of "C" or better. An introduction to basic operating system level software concepts. Course topics include processes, threads, symmetric multi-processing, thread synchronization and memory management techniques.
CPSC 3131. Database Systems 1 (3-0-3) Prerequisite: CPSC 1302 with a grade of "C" or better. The course covers the fundamentals of database systems. Topics to be covered include the following: file systems and database concepts, database models, relational database model, introduction to SQL, database design and implementation, database integrity, and normalization of database tables. Implementation techniques using commercial DBMS will be considered. The course includes lab work and individual database application programming projects.
CPSC 3175. Object-Oriented Design (3-0-3) Prerequisite: CPSC 2108 with a grade of "C" or better. An introduction to designing windows applications using object-oriented and component technologies. The emphasis of this course is in event-driven programming using controls and components to develop desktop windows applications. The primary focus of the course is on the full usage of the Object-Oriented Paradigm for problem-solving and software development using an object-oriented programming language and the Standard Object Modeling Language (UML).
CPSC 4000. Baccalaureate Survey (0-0-0) Satisfactory grade in this course indicates completion of the Field Test. Survey can be taken more than once. (S/U grading.)
CPSC 4111. Game Programming I (3-0-3) Prerequisites: CPSC 3118 and CPSC 3175 with grades of "C" or better. This course introduces the student to Game Programming using 2D principles. The student will be exposed to many aspects of the process of game programming. The course will concentrate on aspects of 2D game programming taking a tour of all aspects of the creation of games including game production; language and architecture; mathematics, collision detection and physics; graphics, textures, artificial intelligence, audio and networking. The student will create a 2D game with a game engine.
CPSC 4112. Game Programming II (3-0-3) Prerequisite: CPSC 4111 with a grade of "C" or better. This course continues the introduction to Game Programming using 3D principles. The student will continue to delve deeper in the concepts introduced in the first Game Programming course. The student will be exposed to more advanced topics in game programming such as Multiplayer games and Massively Multiplayer Online Games (MMOGs). The student will create a 3D game with a game engine .
CPSC 4175. Software Engineering (3-0-3) Prerequisites: CPSC 3175 with a grade of "C" or better. In this course, students are introduced to the basic principles of software engineering. The course focuses on the issues, methods and tools applied at every phase of the iterative development life cycle spanning from the conception of the actual requirements, through the analysis, design, development, testing, deployment and maintenance of the software product. Other subjects include project management and quality assurance. Students must complete a significant software project.
CPSC 4176. Senior Software Engineering Project (3-0-3) Prerequisite: CPSC 4175 with a "C" or better. The course encompasses a practical application of knowledge and skills mastered in the Computer Science curriculum through the development of a significant project. Students will apply a software engineering methodology in a team environment to develop a complex real-world application with an external customer under the guidance of instructor. Team members are involved in all phases of the software development life cycle.
CPSC 5185. Artificial Intelligence (3-0-3) Prerequisite: CPSC 2108 with a grade of "C" or better. This course provides an introduction to the field of artificial intelligence with an emphasis on intelligent system methodologies. Topics are selected from the following: search techniques, machine learning, rule-based systems, artificial neural networks, fuzzy systems, genetic algorithms, intelligent agents, game AI, natural language processing and computer vision.
CPSC 5125. Computer Graphics (3-0-3) Prerequisites: CPSC 2108 with a grade of "C" or better. Introduction to the input, construction, storage, retrieval, manipulation, alternations, and analysis of computer graphics objects. Graphics computer hardware, graphics primitives, two-dimensional and three-dimensional viewing and transformations, basic modeling.
CPSC 5157. Computer Networks (3-0-3) Prerequisite: CPSC 2108 with a grade of "C" or better. Local area networks, wide area networks, and internets. Protocols and the ISO Open Systems Interconnect reference model. Design, analysis, and performance evaluation. Emphasis on data link, network, and transport protocols.
MATH 2125. Introduction to Discrete Mathematics (3-0-3) Prerequisite: MATH 1113 or MATH 1131 with a grade of "C" or better or a satisfactory math placement score. Topics include logic and proof, sets, functions, algorithms, the integers, matrices, mathematical reasoning, induction, recursion, counting, discrete probability, relations, graphs, trees, and Boolean algebra. (Course fee required.)