Computer Science Courses
CSC-150 Introduction to Computer Programming I
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 Introduction to Computer Programming II
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
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
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-139.
CSC-294 Independent Study
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
Processor architecture, interrupt handling external device interfacing. Advanced assembly language programming. Device communication and relation to the runtime environment.
CSC-333 Data Structure & Algorithms
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
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.
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.