CS332 Programming Languages & Systems (3)
Introduces programming language organization and structure. The course covers program run-time behavior and
requirements; compiler and interpreter functions; and basic programming language analysis, design, and specification.
It also introduces several programming language alternatives as examples.
CS338 File & Database Structures (3)
An introduction to the concepts of information organization and methods of representing information both internally
and externally. The course begins with a review of basic structures (stacks, queues, linked lists, and trees) and moves
through more complex data structures into the processing of files (sequential, relative, indexed sequential, and others).
Projects are completed in one or more high-level languages.
CS347 Windows Programming (3)
Programming for an MS Windows environment using Visual Studio .NET and Microsoft’s Framework Class Library
(FCL). This class covers topics in graphical user interface (GUI) program development, including windows, menus,
mouse processing, dialogs, controls, threads, files, databases, and more.
CS348 Assembly Language Programming (3)
Teaches programming in assembly language, including its relationship to computer architecture, macros, segmentation,
memory management, linkages, etc.
CS358 Computer Graphics Programming (3)
This course introduces programming in the specialized area of interactive computer graphics. Topics will include 3D
geometric transformations, the various representation models and storage methods for 3D objects, and the techniques
and models for realistic rendering. Students will apply these techniques to create an interactive computer graphics
application using OpenGL.
Prerequisites: CS211 and MA121.
CS402 Computer Algorithms (3)
This course introduces students to the analysis of algorithms and to algorithm design techniques, including brute-force,
divide/decrease/transform-and-conquer, space and time tradeoffs, dynamic programming, greedy algorithms,
backtracking, branch-and-bound, and approximation algorithms. It includes computational complexity analysis and
covers a variety of applications from classic algorithms to games and puzzles.
Prerequisites: CS211 and MA122.
CS418 Software Engineering (3)
This course is an introduction to the concepts and practices of software engineering. Topics include the software
development life cycle: software specification, design, development, verification, validation, and management. We will
also discuss tools and methods used in developing quality software.
CS420 Seminar in Computer Science (1)
A lecture/discussion course reviewing recent computer science topics and literature from journals available to advanced
Prerequisite: instructor’s approval.
CS425 Advanced Networks, Security, and Cryptography (3)
This course covers advanced network and security topics, including TCP/IP security, firewalls, packet filtering, intrusion
detection, virtual private networks, Internet Protocol Security (IPSec), encryption algorithms and techniques, private
and public key encryption, password authentication, message integrity, digital signatures, administrative security policies,
and other security issues involving Linux, Unix, and Microsoft Windows operating systems.
CS448 Game Programming (3)
This course covers methodology and techniques for writing interactive computer games and similar applications.