Mathematics and Physical Sciences - Computer Science (CSC) Courses
CSC-150 Computer Science I 4 credits
Prerequisites: MAT-149 or equivalent.
An introduction to the disciplines of computer programming using an object-oriented language (most recently C++). Basic computer hardware and software architectures are briefly presented. Topics include: methodologies for program design, development, testing and documentation; algorithms, control structures, objects, classes, elementary data structures, recursion, and numerical computation. Concepts and skills are mastered through programming projects. No previous programming experience is assumed.
CSC-151 Computer Science II 4 credits
Prerequisites: CSC-150
Further study of more sophisticated uses of object-oriented concepts (inheritance, polymorphism, method overloading and multiple inheritance of interfaces). Includes an introduction to the study of algorithm analysis and measurement methods, sorting, and searching. Algorithms and data structures are presented as needed to support discussion of these topics. Concepts and skills are mastered through programming projects.
CSC-231 Computer Architecture & Assembly Language Programming I 3 credits
Prerequisites: CSC-151.
Computer, processor, and memory components. Basic circuits and digital logic. Binary number systems, arithmetic, and data representation. Instruction set and addressing modes. Machine language, assembly language, and assembly language programming.
CSC-232 Special Programming Languages 2 credits
Prerequisites: CSC-150 or equivalent
This course may be repeated by choosing different topics. Computer programming using a high level programming language which is not taught in CSC-150.
CSC-294 Independent Study 3 credits
Prerequisites: Permission
May be repeated up to a maximum of 4 credits and is subject to arrangement with the Mathematical and Physical Sciences Department. This course does not fulfill the core requirement for independent work. See independent study guidelines.
CSC-331 Computer Architecture & Assembly Language Programming II 3 credits
Prerequisites: CSC-231
Processor architecture, interrupt handling external device interfacing. Advanced assembly language programming. Device communication and relation to the runtime environment.
CSC-333 Data Structure & Algorithms 3 credits
Prerequisites: CSC-151
A study of fundamental algorithms, data structures, and their effective use in a variety of applications. The importance of data structure choice and implementation for obtaining the most efficient algorithm for solving a given problem will be studied. A key component of this course is the worst-case asymptotic analysis, which provides a quick and simple method for determining the scalability and effectiveness of an algorithm. Other topics covered generally include: divide-and-conquer algorithms, sorting algorithms, hashing, stacks, queues binary heaps, skip lists, trees, basic graph algorithms. Concepts and skills are mastered through programming projects.
CSC-494 Independent Study 1 - 3 credits
Prerequisites: Junior or senior standing.
May be repeated up to a maximum of 4 credits and is subject to arrangement with the Mathematical and Physical Sciences Department. See independent study guidelines.
CSC-497 Internship 1 - 3 credits
Prerequisites: Junior or senior standing and permission.
Individually arranged programs of work and study with the department, academic institutions, private industries, or government agencies. See internship guidelines.