**This course is open ONLY to 1st year entering CCS Computing Majors. All others are by permission of the instructor only.**
This course is the first half of a two quarter sequence (CMPTGCS 1A, CMPTGCS 1B) designed to prepare students to take upper division courses in Computing, and participate in undergraduate research projects in Computing under the direction of CCS and College of Engineering Computing faculty.
In both quarters, the course is paired with CMPTGCS 1L, "Programming Lab", where students undertake individual and group programming projects to build and reinforce their skills and knowledge.
1A provides students with the opportunity to build skills and knowledge in the following areas: problem solving and algorithm development, C and C++ programming, software development tools, programming language paradigms (structured, functional and object-oriented programming), basic UNIX utilities and tools, basic data structures including arrays and linked lists representations of lists, stacks, queues, and binary trees, binary and linear search, sorting techniques, iteration vs. recursion, basic running time analysis, and data representation.
Savitch, W., Problem Solving with C++ Pearson
Main, M. and Savich, W., Data Structures and Other Objects Using C++ Pearson