CSC161 - Python Programming II
New Course for Fall 2025
3 Credit hours - 2 Lecture, 2 Lab
Prerequisite(s): Grade of “C” or better in CIS160
Course Rationale:
This course is designed to develop proficiency in programming to solve technical problems. To be an ideal candidate for most programming positions, students need special skills in programming, and this course delves deeper into topics such as object-oriented programming, effective data access, and distributed programming.
Catalog Description:
This course is a continuation of CSC 160 (Python Programming I). After a quick review, the student is introduced to advanced programming concepts such as data abstraction, classes, maintaining relational data, the use of additional visual components and other techniques commonly employed in advanced, commercial, multi-tiered applications. Other topics such as advanced data visualization, workflow automation, and use of external modules to enhance program capabilities may also be explored.
Course Objectives
Analyze a business need and design an appropriate python-based solution.
Develop Python applications that demonstrate mastery of OOP concepts, including encapsulation, inheritance, polymorphism, and the use of metaclasses and decorators to extend functionality.
Employ Python's extensive ecosystem by integrating external libraries and frameworks (e.g., Flask, Django, Pandas) to solve more complex problems, and adapt to new technologies.
Design and implement user interfaces across a variety of user interface paradigms, including console, GUI, mobile, and Web.
Perform CRUD (Create, Read, Update, Delete) operations on data from files and databases.
Utilize Python classes and modules to implement a multi-tiered architecture that separates concerns between data, logic, and presentation.
Diagnose and debug software problems, and develop code that is less prone to common programming pitfalls.
Incorporate reporting functionalities and perform basic data science tasks within applications using relevant Python libraries, and integrate reporting tools to provide data insights and visualizations.
Core Outcomes
Exams and Certification Equivalent:
Test Out Requirements
Students who wish to demonstrate proficiency in this course will need to complete a Departmental proficiency exam. Departmental proficiency examinations are created by appropriate college faculty to allow students to demonstrate their mastery of course content in designated subjects. These examinations will be equivalent to the cumulative final assessment used in the course. Faculty will determine the minimum score required to earn credit by exam for these courses.
The college’s test out policy is outlined in policy 2.12 - Credit by Exam (Test Out)
Last updated