CS 172 Computer Programming II

Term and Credits
Spring 2022-2023
3 Credits

Basic Course Information


Section Time Instructor Classroom
 CS 172 - A Monday 1:00 PM - 2:50 PM Prof. Adelaida A. Medlock Bossone Auditorium
CS 172 - B Monday 11:00 AM -12:50 PM Prof. Mark W. Boady Bossone Auditorium
CS 172 - C Monday 9:00 AM - 10:50 AM Prof. Daniel W. Moix Bossone Auditorium



Day and Time

Lab Assistant


CS 172 - 060
Wednesday 9:00 AM - 10:50 AM
Gary Pham
Saquib Baig
Theo Jerome

3675 Market St.
Room 910-911
CS 172 - 061
Wednesday 11:00 AM - 12:50 PM
Aref Azizpour
Minh Nguyen
Rayan Shrestha
Theo Jerome

3675 Market St.
Room 910-911
CS 172 - 062 Wednesday 3:00 PM - 4:50 PM
Mayinuzzaman Shawon
Minh Nguyen
Nam Dao
3675 Market St.
Room 910-911
CS 172 - 063 Thursday 9:00 AM - 10:50 AM
Andrew Chen
Ishan Desai
Mayinuzzaman Shawon
Nam Dao
Theo Jerome
3675 Market St.
Room 1054-1055
CS 172 - 064 Thursday 11:00 AM - 12:50 PM
Aref Azizpour
Mayinuzzaman Shawon
Raj Ray Chaudhury
3675 Market St.
Room 1054-1055
CS 172 - 065 Friday9:00 AM - 10:50 AM
Andrew Chen
Mayinuzzaman Shawon
Minh Nguyen
Theo Jerome
3675 Market St.
Room 1054-1055


Prof. Adelaida Alban Medlock
Electronic Mail Address: aalban@drexel.edu
Webpage: http://www.cs.drexel.edu/~aalban/
Office: 3675 Market St. - Room 1064
Office Hours:
Tuesdays 1:00 AM - 3:00 PM

Prof. Mark W. Boady
Electronic Mail Address: mwb33@drexel.edu
Webpage: https://boadycs.gitlab.io/about-mark/
Office: 3675 Market St. - Room 1063
Office Hours:
Mondays 3:00 - 4:-- PM

Prof. Daniel W. Moix
Electronic Mail Address: daniel.moix@drexel.edu
Webpage: https://drexel.edu/cci/about/directory/M/Moix-Daniel/
Office: 3675 Market St. - Room 1058
Office Hours:
Mondays 12:00 - 2:00 PM and Thursdays 11:00 AM - 12:30 PM

Teaching Assistants
Ali Turcan
Andrew Chen
Aref Azizpour
Gary Pham
Ishan Desai
Mayinuzzaman Shawon
Minh Nguyen
Nam Dao
Raj Ray Chaudhury
Rayan Shrestha
Saquib Baig
Tasmin Rahman
Theo Jerome
Tri Truong
Uday Jain

TA Office Hours
: will be conducted in the person, in the CLC located at 3675 Market St. Room 1066
Office Hours Schedule: https://www.cs.drexel.edu/clc
Contact Info: can be found under the Faculty Information section of Bb Learn
Contact your TA through Discord for Course Related Questions.

CS Department Contact Information

CS Dept. Phone: (215) 895-2669
CS Dept. Fax: (215) 895-0545
CS Dept. Location: 3675 Market Room 1171-A

Course Description and Objectives

Course Description
Covers object-oriented design, inheritance hierarchies, information hiding principles, string processing, recursion, good programming style, documentation, debugging, and testing.

Course Goals
The goal is to be able to write a working program using appropriate constructs when presented with a problem description.

Course Objective
Students completing this course should:

  1. Be able to import and use Python modules.
  2. Be able to design and implement Object Oriented Programs.
  3. Be familiar with common data structures like lists and stacks.
  4. Be able to design tests to determine code quality.
  5. Understand how objects are used to improve code development.
  6. Be able to communicate and solve problems effectively as a member of a team

Audience and Purpose within Plan of Study
This course is open to all students interested in Programming and Computer Science. This course is the second in a two-term sequence of computer programming courses in Python (CS 171-172) and is a required course for students majoring in computer science, mathematics, physics, information systems, and digital media. It is also a required course for students pursuing a minor in computer science.

A grade of C or better in CS 171.

Required Textbooks and Software

Title: CS 172 Computer Programming II
Edition: Spring 2023 
Author: Bailey Miller, Roman Lysecky, Frank Vahid 
ISBN-13:  979-8-203-12846-1
Buy: zyBooks.com
Copyright: 2014, 2015, 2016, 2018 , 2019, 2020, 2021, 2022 Zyante Inc. (zyBooks.com)
Price: $88.00

In order to acquire the book you will need to follow these steps:

  1. Sign up at https://www.zybooks.com
  2. Enter zyBook code DREXELCS172Spring2023
  3. Click Subscribe

NOTE: We recommend that if possible, you purchase the book directly from ZyBooks.com as the bookstore has a different (higher) price to the textbook. 

Title: Making Games with Python and Pygame
Edition: 1st 
Author: Al Sweigart 
ISBN-13:  978-1469901732
Free at: https://inventwithpython.com/pygame/

Software and Hardware Requirements

All Drexel students are required to have individual access to a dedicated personal computer which meets minimum specifications, including: processor speed, memory and secondary storage requirements, and connectivity to campus network. Please see https://drexel.edu/cci/admissions/graduate-professional-development/admissions-information-and-requirements/computer-requirements-and-skills/ for further information.

The official language used for this course is Python 3. It is available for free at https://www.python.org.

Required Software

  1. Thonny Python IDE: https://thonny.org/
  2. Discord - students registered in CS 172 should join the course Discord server as soon as possible. Please see instructions in Bb Learn, on the left-hand side menu.

Blackboard Learn
This course is operating with the Drexel BlackBoard Learn (Learn) Course Management System, which allows electronic submission of assignments, quizzes, and lab exercises, and threaded discussion groups. You can access the Drexel Learn course website from the Drexel portal http://one.drexel.edu/. You can also access Drexel Learn from the following page https://learn.dcollege.net/.


Grade Computation

 Labs  15% 
 Homework  15%  
 Readings  10% 
 Midterm  30% 
 Final Exam  30% 

Final grades will be determined by your total points weighted according to this distribution. Grades may be curved but are generally computed via the formula below. It may be modified at the instructor's sole discretion, but letter grades will generally not be lower than those shown here.

Grading Scale

 A+    97-100
 A  93-96.99 
 A-  90-92.99
 B+  87-89.99
 B  83-86.99
 B-  80-82.99
 C+  77-79.99
 C  73-76.99
 C-  70-72.99
 D+  65-69.99
 D  60-64.99
 F  0-59.99

Grading Policies




Midterm and Final Exams

Special Circumstances

If you have a documented reason why you cannot submit any work by the cut-off deadline, a special exception may be made. The Professor may also wave the late submission policy for documented special exceptions. Special Exceptions must be approved by the Professor.

Additional Policies

Plagiarism Detection System

To ensure that assignments are done independently, in addition to human observation, we will be running all assignments through a plagiarism detection system. This program uses compiler techniques which are invariant of syntax and style. It has a very high accuracy rate.

Academic Honesty Policy

The university's Academic Honesty policy is in effect for this course. This policy is available in the Student's Handbook https://drexel.edu/studentlife/community_standards/code-of-conduct/. Please also read the following information from the Provost Office: https://drexel.edu/provost/policies/academic-integrity/

You must be the sole original author of all assignments and examination solutions in their entirety, unless the instructor explicitly instructs you otherwise in written directions on an assignment or exam. Except where specifically assigned, collaborative work is a violation of academic honesty in this course. You are not to examine, share, or use code/written solutions belonging to someone else, nor may you let anyone else examine or copy your code/written solutions.

Students found in violation of the Academic Honesty policy will receive no credit for the questionable assignment or exam, a half letter grade reduction on the final grade for the course (on the first occurrence), a whole letter grade reduction on each subsequent occurrence(s), and/or will possibly receive a failing grade for the course. In addition, a Drexel University Alleged Academic Misconduct Report will be filed for each occurrence of Academic Dishonesty.

If you are suspected of academic dishonesty, you will receive an email letting you that your assignment/exam/quiz has been flagged. You will be required to communicate with the course instructor within 72 hours indicating your response to the suspected violation.

Students having difficulty fulfilling the requirements for an assignment without outside help are to seek assistance from a teaching assistant or instructor, not from another student or knowledgeable person.

It is your responsibility to avoid violating the university's policy. If you are unclear as to what the policy means in a particular situation, ask the instructor for clarification before you hand anything in.

See the examples below for clarification of this policy.


The following are acceptable:

These are NOT acceptable:

Additional Course Policies

Computer/Software Help
CCI Commons (3675 Market #1067): https://drexel.edu/cci/current-students/icommons/

Students Accommodations
Students requesting accommodations due to a disability at Drexel University need to request a current Accommodations Verification Letter (AVL) in the ClockWork database before accommodations can be made. These requests are received by Disability Resources (DR), who then issues the AVL to the appropriate contacts. For additional information, visit the DR website at https://drexel.edu/oed/disabilityResources/students/, or contact DR for more information by phone at 215-895-1401, or by email at disability@drexel.edu

Initial Course Participation (ICP)
Class attendance is critical to your success as a student. Missing classes may impact your class success and your federal financial aid.

Other important Academic Policies

In addition to the course policies listed on this syllabus, course assignments or course website, the following University policies are in effect:

Class Disruption Policies

According to the student handbook (Code of Conduct section), Disorderly Conduct is defined as behavior that disturbs academic study:

Behavior that disturbs the peace, academic study, or sleep of others both on or off campus is prohibited. Examples of disorderly conduct as it pertains to class/research settings includes, but is not limited to the following:

Students are responsible to comply with a reasonable request from a professor, instructor, or other University official regarding appropriate behavior.

Students disrupting online office hours will be asked to stop the disruptive behavior. If they do not stop, the student will be asked to leave the online session, and a formal complaint will be filed with the Office of Student Conduct and Community Standards.

Diversity, Equity and Inclusion Statement

CCI faculty believes and embraces diversity for it fosters innovative, transformative classrooms where optimal learning for students of all identities and backgrounds can occur.

For more information on Diversity and Inclusion in CCI, please visit: https://drexel.edu/cci/about/diversity-equity-and-inclusion-council/

Statement on Recording Lectures

Appropriate Use of Course Materials

It is important to recognize that some or all of the course materials provided to you are the intellectual property of Drexel University, the course instructor, or others. Use of this intellectual property is governed by Drexel University policies, including the IT-1 policy found at: https://drexel.edu/it/about/policies/policies/01-Acceptable-Use/

Briefly, this policy states that all course materials including recordings provided by the given prior written approval by the University. Doing so may be considered a breach of this policy and will be investigated and addressed as possible academic dishonesty, among other potential violations. Improper use of such materials may also constitute a violation of the University’s Code of Conduct found at: https://drexel.edu/cpo/policies/cpo-1/ and will be investigated as such.

Recording of Class Activities:

In general, students and others should not record course interactions and course activities in lecture, lab, studio or recitation.

Students who have an approved accommodation from the Office of Disability Resources to record online lectures and discussions for note taking purposes should inform their course instructor(s) of their approved accommodation in advance. The recording of lectures and discussions may only be carried out by the students enrolled in the class who have an approved accommodation from Disability Resources with their instructors’ prior knowledge and consent. Students with approved accommodations may be asked to turn off their recorder if confidential or personal information is presented.

If a student has any comments, concerns, or questions about provided class materials and/ or recording, talk to your course instructor first. If this does not resolve the issue, you can also reach out to the Department Head, and use the process described for a grade appeal to move your concern forward. The process described for grade appeals can be found at: https://drexel.edu/provost/policies/grade-appeals/

Tentative Course Schedule

Schedule Subject to change at any time.

Note: All due dates and times are on Eastern Time Zone.

CS 172 Spring 2022 - 2023 Schedule
Week Topics Reading Lab Notes
Course Overview
Object Oriented Design
Using / Including Objects
Modules and Packages

ZyBooks 1.1-1.6

Lab 1
Due by 11:59 PM on the day of your lab session

Week 1 Reading
Due Sunday 4/9/23 by 11:59 PM

Homework 1 
Due Tuesday 4/11/23 by 11:59 PM
Classes in Python ZyBooks 4.1-4.7
Lab 2
Due by 11:59 PM on the day of your lab session
Week 2 Reading 
Due Sunday 4/16/23 by 11:59 PM
Overloading Operators
ZyBooks 6.1-6.2; and
Web Resources (see Bb Learn)
Lab 3 
Due by 11:59 PM on the day of your lab session
Week 3 Reading 
Due Sunday 4/23/23 by 11:59 PM

Homework 2
Due Tuesday 4/25/23 by 11:59 PM
Inheritance ZyBooks 9.1 - 9.4
Lab 4
Due by 11:59 PM on the day of your lab session

Week 4 Reading
Due Sunday 4/30/23 by 11:59 PM

Homework 3 
Due Tuesday 5/2/23 by 11:59 PM

OOP Case Study - PyGame
Sweigart textbook:
Chapters 1 - 2
Lab 5
Due by 11:59 PM on the day of your lab session
Week 5 Reading
Due Sunday 5/7/23 by 11:59 PM

Homework 4 
Due Tueday 5/16/23 by 11:59 PM
During the lecture session.
Covers Weeks 1 - 5
NONE this week NONE this week  
Memory Considerations
Stacks and Queues
ZyBooks 16.1-16.7
Lab 6
Due by 11:59 PM on the day of your lab session

Week 7 Reading
Due Sunday 5/21/23 by 11:59PM
Linked Lists
ZyBooks 18.1 - 18.16; and
Web Resources (see Bb Learn)
Lab 7
Due by 11:59 PM on the day of your lab session
Week 8 Reading
Due Sunday 5/28/23 by 11:59PM

Homework 5 
Due Tuesday 6/6/23 by 11:59PM
Hash Tables
OOP Compared
ZyBooks 21.1-21.7; and 
Web Resources (see Bb Learn)
Lab 8
Due by 11:59 PM on the day of your lab session
Week 9 Reading
Due Sunday 6/4/23 by 11:59PM

Binary Search Trees

ZyBooks 23.1-23.9
Lab 9
Due by 11:59 PM on the day of your lab session
Week 10 Reading 
Due Sunday 6/11/23 by 11:59PM
 Finals Week
 Final Exam 
Monday June 12
1:00 - 3:00 PM
Main Building Auditorium
 Final Exam Covers all topics from Weeks 1 to 10 (with the exception of PyGames).