Courses in Engineering

CSC 131. Introduction to Programming (with Java). Foundational aspects of computer programming. Algorithms and data; control structures; the design of small programs. Class and object basics. Uses the Java programming language.  3 credits.

CSC 132. Computer Organization and Programming. Introduces the design and organization of the major components of a modern computer: CPUs, memory, storage, and other related hardware. Continues the study of programming started in CSC 131 via programming projects related to the study of computer architecture.  Prerequisite: CSC 131 or permission. 3 credits.

CSC 216. Concepts of Networking and Database. This course has three distinct segments: 1)principles of computer networks and the Internet, 2)database design concepts, and 3)network database applications. Hands-on.  Take CSC 115 or CSC 131. 3 credits.

CSC 220. Application Development for Actuaries Structures. This course will explore programming and database tools and methods that are commonly used in the actuarial profession. Topics include database design, programming, and use with SQL (Structured Query Language); object-oriented programming in Visual Basic; and Excel VBA macros (Visual Basic for Applications).  Prerequisite: Sophomore standing or higher. Actuarial Science major, or permission of the instructor. 3 credits.

CSC 231. Program Design I: C++ and Data Structures. Begins the study of large-scale software systems. Introduces the C++ programming language and fundamental data structures like vectors, lists, and trees.  Prerequisites: MAS 161 or MAS 111, and CSC 132 3 credits.

CSC 232. Program Design II: OOP and Patterns. A continuation of CSC 231. Applications of data structures, object-oriented programming, design patterns, and other techniques to the design and implementation of large software systems.  Prerequisite: CSC 231. 3 credits.

CSC 331. Software Design I. A survey of modern techniques for designing complex software systems. Investigates both programming techniques and processes. Includes substantial programming projects that continue in CSC 332.  Prerequisite: CSC 232. 3 credits.

CSC 332. Software Design II. A continuation of CSC 331. Must be taken in the semester immediately following CSC 331.  Prerequisite: CSC 331. 3 credits.

CSC 400. Internship. Internship in Computer Science  Graded¬†pass/fail. This course may be repeated for credit as topic changes. 1-12 credits.

CSC 441. Operating Systems. Theory and practice of modern operating systems. Topics include memory management, file systems, scheduling, concurrency, distributed processes, and security.  Prerequisites: CSC 282 and MAS 251. 3 credits.

CSC 442. Networks. Network design and implementation. Topics include layered network design, types of hardware, low-level protocols, packets, frames, routing, security, and so on.  Prerequisites: CSC 232 and MAS 251. 3 credits.

CSC 448. Databases. The theory, structure and implementation, and application of modern database systems.  Prerequisite: CSC 232. 3 credits.

CSC 452. Artificial Intelligence. An introduction to the field of AI. Topics include expert systems, goal-seeking algorithms, neural networks, genetic algorithms, computer vision, language recognition.  Prerequisites: CSC 232 and MAS 251. 3 credits.

CSC 481. Advanced Topics in Computer Science I. Topics to be selected from current areas of interest and research in computer science.  This course may be repeated for credit as topic changes. Prerequisites: CSC 232, MAS 251. 3 credits.

CSC 482. Advanced Topics in Computer Science II. Topics to be selected from current areas of interest and research in computer science.  This course may be repeated for credit as topic changes. Prerequisites: CSC 232 and MAS 251. 3 credits.

CSC 500. Independent Study. Independent Study in Computer Science  This course may be repeated for credit as topic changes. 1-3 credits.