CSC105-001

Computer Programming I: Python

In this introduction to the field of computer science, students use projects and teamwork to design, implement, and test programs in Python. Programming style, expression, and documentation are emphasized. Object-oriented programming methodology, graphical user interfaces, debugging techniques, string processing, and basic searching and sorting algorithms are covered. Python provides an introduction to programming for students in any academic discipline. Prerequisite: None / 3 credits. Offered: Spring

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

CSC125-001

Procedural Programming

Students design programs in C using a procedural design paradigm that examines issues associated with low-level programming such as explicit memory management, efficiency, pointers, the compilation process, and debugging. C programs are run in a Unix/Linux environment. Prerequisite: Any college-level programming course / 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

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

CSC240-001

Introduction to Computer Systems


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