Computer Science
Classes
CSC110: Computer Programming I: Java
In this introduction to the field of computer science, students use projects and teamwork to design, implement, and test programs in Java. Programming style, expression, and documentation are emphasized. Object-oriented programming methodology, graphical user interfaces, debugging techniques, string processing, and arrays are covered. Java provides an introduction to programming for students in any academic discipline.
CSC120: Computer Programming I: C++
Students use projects and teamwork to design, implement, and test programs in C++. Programming style, expression, and documentation are emphasized. Object-oriented programming methodology, graphical user interfaces, debugging techniques, pointers, simple recursion, and string processing are covered.
CSC125: Procedural Programming
CSC130: Computer Programming II: Java
Students use projects and teamwork to design, implement, and test large computer programs in Java, with emphasis on programming style, expression, and documentation. Object-oriented programming methodology, abstract data types, data structures, internal searching and sorting methods, exceptions, generics, multithreading, and simple recursion are covered. Students analyze the efficiency and compare times of recursive and non-recursive sorts and searches, as well as searches of graphs using stacks and queues.
CSC210: System Software & Assembly Language Programming
CSC230: Data Structures
CSC240: Introduction to Computer Systems
CSC250: Computer Organizational & Architecture
Students acquire an understanding and appreciation of a computer system’s functional components, their characteristics, performance, and interactions. Students evaluate computer architecture to develop programs that can achieve high performance through a programmer’s awareness of parallelism and latency. In selecting a system to use, students analyze the tradeoff among various components, such as CPU clock speed, cycles per instruction, memory size, and average memory access time. Topics include digital logic, assembly language machine organization, and hardware-level C and assembly language programming.