CS155A: Programming in Python


CS155A – Programming in Python

MW 12:30-1:30, F 11:50-1:05, Room: LB 106, Final Exam: Fri., Dec. 13, 8:00 am   

Professor: Dr. Daniel Showalter                               Email: 

Office: Suter Science Center 19B                               Office phone: 

Office Hours: See schedule on Moodle Tutors:   

Course Description

Applies basic programming concepts with more extensive programs, including a final project of the student's choice in Python. Prerequisite: CS 145 or other programming experience. This course DOES NOT satisfy any EMU Core requirements. 2 credits​             


By the end of this course, students will be able to:

  • program a set of basic games,
  • identify, access, and use Python packages to meet their programming needs,
  • read, understand, and constructively critique a peer’s code,
  • develop a programming project from idea generation to the user-ready program, validate all forms of user input and other external data, and resolve typical syntax, run-time, and logic errors.  

Books, Materials, and Website Required Materials: 

Our primary required resource is an online text, Making Games with Python and Pygame​     by Al Sweigart. It is available for free at this site: 


You will also probably want to set up an account through the Computer Science Circles website: http://cscircles.cemc.uwaterloo.ca/. An account is free, but you will need to enter​        my username (daniel.showalter) as the “guru” for your work to show up in my account. You’ll be given this option when setting up your account.  

The course web site can be accessed from EMU's Moodle server at

http://moodle.emu.edu/. The site will contain the most up-to-date schedule, quizzes,​        announcements, and other reference material along with on-line grade reporting.  


Course grade will be determined by the following weights:  

20%     Competency check (see explanation below)

5%       In-class assignments

30%     Projects 1 and 2 (15% each)

5%       Pybraries presentation

40%     Final project  

Grade distribution is as follows:  

A   [94.0%,100.0%] A-  [90.0%, 94.0%)

B+ [87.0%, 90.0%)     B   [84.0%, 87.0%)     B-  [80.0%, 84.0%)

C+ [77.0%, 80.0%)     C   [74.0%, 77.0%)     C-  [70.0%, 74.0%)

D+ [67.0%, 70.0%)     D   [64.0%, 67.0%)     D-  [60.0%, 64.0%)

F    [0.0%, 60.0%)


Attendance Policy: Because classroom lectures and discussions will cover material in​           ways that the book is unable to, it is important that you attend regularly. If you miss class for any reason—even an excused absence—it is your responsibility to get the notes from a classmate. I will not “shadow teach” any lessons by re-teaching something that you missed in class (although you are welcome to ask me specific questions after you have reviewed someone else’s notes). Regular attendance and participation is expected. You should contact me at the earliest possible opportunity via email to let me know of any absences, excused or otherwise. Participation on Fridays is counted as part of your​      overall grade.

Competency Check: The competency check is a screening test to help ensure you know​           the basics (and are getting help if you don’t) before entering the project phases. If you scored above an 80% on the CS 145 final, you are exempt. Once you score above an 80% on the test, you will be given a 100% in the gradebook. If you do not score above an 80%, you can retake up to 3 more times -- if you still fail to get above 80%, your grade will be a 0% on the check.   

Deadlines: Assignments may still be turned in past the deadline for partial credit (general​  rule of thumb is a 10% deduction for each day late). There may be opportunities to reduce some of these deductions by meeting with a tutor outside of class.  

Early Graded Experience: First and second-year students enrolled in this course will​              receive a grade of satisfactory (SA), warning (WA), or UN (unsatisfactory) after the fourth week of the semester. This grade is intended to provide students with feedback on their academic performance and engagement in this course. Students who receive a WA or UN grade will be expected to discuss with me, within one week of receiving their grades, plans for improving their performance in this course.  

General Policies

The behavioral and ethical standards of the EMU community are to be observed in all aspects of this course. Any questions or concerns about the classroom environment or other aspects of this course are welcomed. Please take time to read the information below for future reference.  

Accreditation Statement: Your degree means something.​   Based on EMU’s membership​    in the SACSCOC, it is expected that students will spend approximately 2 hours outside of class for every credit hour. That means an average of 8 hours outside of class per week​           for this class.

Disability resources: If you have a physical, psychological, medical, or learning​             disability that may impact your work in this course, it is your responsibility to contact the Office of Academic Access (http://www.emu.edu/academics/access​          /) on the third floor of the Hartzler library. This office will work with you to establish eligibility and to coordinate reasonable accommodations. All information and documentation is treated confidentially.

Title IX: It is important for you to know that all faculty members are required to report​          known or alleged incidents of sexual violence (including sexual assault, domestic/relationship violence, stalking). That means that I cannot keep information about sexual violence confidential if you share that information with me. For example, if you inform me of an issue of sexual harassment, sexual assault, or discrimination I will keep the information as private as I can, but I am required to bring it to the attention of the institution’s Title IX Coordinator. Incidents that have occurred on campus, at a campus event, and/or while a student at EMU require follow up by the Title IX Coordinator.  If you would like to talk to the Title IX Coordinator directly, Irene Kniss can be reached at 540-432-4302 or irene.kniss@emu.edu. Additionally, you can also report incidents or complaints through our online portal at http://emu.edu/safecampus​      /. You may report, confidentially, incidents of sexual violence if you speak to Counseling Services counselors, Campus Ministries pastors, and Health Services personnel providing clinical care. These individuals, as well as the Title IX Coordinator, can provide you with information on both internal and external support resources. 

Academic Integrity Policy (AIP): EMU faculty and staff care about the integrity of their​            own work and the work of their students. They create assignments that promote interpretative thinking and work intentionally with students during the learning process. Honesty, trust, fairness, respect, and responsibility are characteristics of a community that is active in loving mercy, doing justice, and walking humbly before God. EMU defines plagiarism as occurring when a person presents as one’s own someone else’s language,​  ideas, or other original (not common-knowledge) material without acknowledging its source. (Adapted from the Council of Writing Program Administrators). This course will apply EMU's Academic Integrity Policy to any occurrences of academic dishonesty (see current UG catalog).


What is plagiarism in this class? You may not copy code from the Internet or other​            students, period. If you are cutting and pasting code not from the book resources or your​       own account, you are likely committing an academic policy violation. You may (and are encouraged to) look at others’ code to learn and understand techniques. But you must recreate these algorithms yourself. A good rule of thumb is that, if you couldn’t recreate the code a day later without help, then you probably don’t understand the code and should study it more before using it. Many of our assignments will be available online in one form or another. Copying them and turning them in as your own work will be considered plagiarism. 


Tutoring Resources: Please take advantage of the free individual tutoring from​   Academic Success Center tutors. ASC tutors are undergraduate students trained to support students in particular courses and departments. Tutors also offer occasional study group options. To make an appointment, access ASCTutoring through quick links on myEMU.   

Please refer to the Student Handbook which can be found

at http://www.emu.edu/studentlife/student-handbook​             / for additional policies, information, and resources available to you.              

Tentative Schedule

The following schedule is subject to change. In general, each week’s reading assignments will be due by Sunday midnight of that week, and check our Moodle page for other specific assignments and dates.   


Start (M)








Python Overview

CS Circles



Making Games (1)





Making Games (2)


Making Games (2)


Competency Check



Making Games (3)


Making Games (3)


Project 1 Due



Making Games (4)


Making Games (4)


Project 2 Due



Final Project Intro

Explore Pybraries


Final Project


Pybraries Sharing



Final Project







Final Project


Final Project


Final Project Due








(8:00 am)