Spring 2022 Update 
    
    Nov 26, 2024  
Spring 2022 Update [ARCHIVED CATALOG]

CSC (0145) 175 - Intermediate Computer Programming


Credits: 4.00

Students explore object-oriented programming principles and techniques for solving problems. Students study class relationships (composition, inheritance, polymorphism, data-abstraction), file processing, exception handling, recursion, use of built-in language specific data structures. Students develop software-engineering skills and habits; develop a variety of applications that require storing, processing, sorting and searching data collections.

Prerequisite 1: CSC 171  
Free Note: Students must register for both lec (CLC) and lab sections.  Grade of C- or better in CSC 171.

Course Learning Goals: This course is designed to develop a set of skills that will be necessary for success in the upper-division courses in Computer Science. 

•    Students will create, navigate through, and update objects inside collections. This objective will be measured by all course assessments. 
•    Students will create driver and blueprint classes. This objective will be measured by all course assessments. 
•    Students will apply standard programming conventions to create readable code that would be easy to maintain. This objective will be measured by all course assessments. 
•    Students will code test cases and use unit testing tools and be introduced to test driven development techniques. This objective will be measured by all course assessments.
•    Students will create programs using composition, abstraction, interfaces, inheritance, exception handling and file processing.   This objective will be measured by assignments 1 - 7, the midterm, and final project.
•    Students will solve written problems by designing objects and algorithms and then implementing those designs. This objective will be measured by all course assessments.
•    Students will construct and update structured objects. This objective will be measured by assignments 3&4 and the final project.  
•    Students will trace recursive calls and write recursive algorithms. This objective will be measured by assignment 8, and the midterm examination.   
•    Students will program using an integrated development environment to carry out a design-code-test-debug cycle. This objective will be measured by all course assignments.
•    Students will exercise step-wise refinement and method decomposition. This objective will be measured by all course assessments.
•    Students will design small UML class diagrams involving “is a” and “has a” relationships. This objective will be measured by the final examination.  
•    Students will develop software involving several classes that interact together. This objective will be measured by the final project.  
•    Students will use a change control system. This objective will be measured by the final project.
•    Students will implement and trace at least 2 searching algorithms.  This objective will be measured by assignment 9, the midterm, the final examination and the final project.
•    Students will use and trace at least 2 sorting algorithms. This objective will be measured by assignment 10, the final examination and the final project.
•    Students will use and trace code involving at least 2 predefined data structures.  This objective will be measured by assignments 11&12, the final examination and the final project.