Computer Science Department
Below is a list of courses offered by the CS department. Each link gives a course description which includes the credit hours, semester(s) when the course is offered and any prerequisites. More information about the CS programs/courses can also be found in the Harding Catalog.
Course Descriptions for Selected Topics (4750A-F)
4750A. Game Programming. (3) Offered on rotation. Programming games with Unity. Topics include 2D and 3D computer graphics, animation, collision detection, game design, and game artificial intelligence. Prerequisites: COMP 2450 and 3450.
4750B. Compilers. (3) Offered on rotation. An introduction to the ideas and techniques involved in constructing compilers. Topics include formal grammars and languages, lexical analysis, parsing, syntax trees, instruction selection, register allocation, and scheduling. Prerequisites: COMP 2450, COMP 2680, and either COMP 3450 or approval of the instructor.
4750C. Introduction to Web Science. (3) Offered on rotation. Topics include web architecture, web characterization and analysis, web archiving, social networks, collective intelligence, search engines, web mining, and information diffusion on the web. Prerequisites: COMP 2450 and 2500.
4750D. Mobile Application Development. (3) Offered on rotation. Development of native and web applications for mobile devices running iOS and Android operating systems. Prerequisites: COMP 2450 and 3450.
4750E. Computer Security. (3) Offered on rotation. This course provides an overview of the computer security landscape. Topics include authentication, intrusion detection, access control, and uses of cryptographic algorithms. Emphasis is placed on encouraging the programmer to practice security-aware programming practices. Recommended: COMP 3110. Prerequisites: COMP 2450 and 2680.
4750F. Functional and Generic Programming. (3) Offered on rotation. A study of functional and generic programming techniques in both the Haskell and C++ languages. Topics include closures, higher-order functions, algebraic data types, I/O monads, parametric polymorphism, type classes / concepts, class and function templates, template specialization, variadic templates, polymorphic value types, and compile-time expressions. Prerequisite: COMP 3450.