CSC110-001

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. Prerequisite: MAT035 or satisfactory basic skills assessment score / 3 credits. Offered: Fall, Spring

CSC120-001

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. Prerequisite: MAT035 or satisfactory basic skills assessment score and working knowledge of any programming language / 4 credits. Offered: Fall

CSC130-001

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. Prerequisite: CSC110 or CSC120 or CSC105 / 4 credits. Offered: Fall, Spring

CSC220-001

Introduction to Computer Systems

Students investigate how computer systems execute programs, store information, and communicate in order to become more effective programmers in terms of performance, portability, and robustness. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation. 4 class hours. Prerequisites: CSC130 / 4 credits. Offered: Varies

CSC230-001

Data Structures

Students use data structures and recursion in Java to solve complex problems. Abstract Data Types (ADTs) including lists, stacks, queues, tables, sets, maps, heaps, and trees are examined and implemented. Students analyze the theoretical and actual running times of the alternate ADT implementations as well as internal/external searching and sorting algorithms, graph algorithms, and hashing. Prerequisite: CSC130 / 4 credits. Offered: Fall

CSC250-001

Computer Organization and

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. Prerequisite: CSC130 / 3 credits. Offered: Fall