Course Syllabus

Course Staff


Kevin AngstadtKevin Angstadt (he/him/his)

Office: Bewkes 121-1

Student Hours: QRC Lounge (outside Valentine 124)


Email Hours: I regularly check Email 8-4 Eastern on weekdays.  While I may respond outside those hours, I make no guarantees.

Addressing: I encourage you to call me by any one of the following names.  Please use what makes you feel the most comfortable.

  • Kevin
  • Prof./Dr. Angstadt
  • Prof./Dr. A
  • Prof./Dr. Kevin

Teaching Assistants

Peyton Hamilton
Peyton Hamilton

Course Information

Spring 2022

Units: 1
Format: In-Person Synchronous
Meets: TTh 12:40 PM–2:10 PM Eastern
Room: Bewkes 109

Enrollment Restrictions: 

  • None: this course assumes no background knowledge beyond high school math and typing.
  • This course is synchronous; you must be available during the scheduled class time.
  • CS 140 is intended for students who have not yet done any substantial programming.  If you have substantial previous programming experience, please contact me so that we may determine if another course would be a better fit.

Required Textbooks

There are no required textbooks for this course.  In addition to your notes, I will provide links to online resources to supplement your class notes.  We will primarily refer to Harcourt’s An Introduction to Computer Science and Programming with Python and Wentworth et al.’s How to Think Like a Computer Scientist


Important Dates



First Class Meeting


Last Day to Drop/Add


No Class (Winter Break)


No Class (Spring Break)


Last Day to Request Pass/Fail


Last Day to Withdraw


Last Class Meeting


Final Exam Period (all assignments due)


Course Overview and Goals

From the course catalog: An introduction to programming using a high-level language. Assumes no prior knowledge of programming, and focuses on essential skills. Students learn to create programs ranging from practical utilities to simple games. Offered every semester.

Welcome to the wonderful world of Computer Science! Almost every aspect of 21st century life relies on computers and computation. In this course, you will begin to learn how to program a computer.  Computer programming can be both challenging and rewarding, and skillful programming requires equal parts technical precision and creative design. We will be learning Python, a modern programming language that many students find enjoyable and rewarding to learn.  Further, Python is used extensively to write modern software, both in industry and also for research.

At the end of this course, you will be able to:

  1. Explain the basic operation of a computer and appreciate the complexity of the software we use on a daily basis
  2. Solve a range of computational and visual problems using Python
  3. Develop your own programs by composing key programming constructs, such as variables, functions, conditionals, and loops

Course Topics

This course is structured around learning many of the core pieces of the Python language.  As we attempt to solve new problems, we will learn the necessary parts of the language to program a solution.  A rough ordering of topics is presented below, but is subject to change as the semester progresses.

  • Expressions, Statements, and Variables
  • User Input
  • Math
  • Computer Graphics and Games
  • Functions
  • Conditionals
  • for and while Loops
  • Randomization and Simulation
  • Event-Based Programming
  • Image Processing
  • Strings
  • Files
  • Cryptography
  • Lists and Dictionaries

Course Format

This course is being offered in a fully-synchronous format. As public health conditions allow, this course will be offered in-person for students on campus.

Weekly Lectures

Each week, there will be synchronous lectures during our scheduled course time.  These meetings will introduce you to the fun and exciting world of computer programming.  Please review the attendance policy below for expectations about attending these lectures.

Lectures will be recorded and available on Sakai for students wishing to review material covered in this course.

Homework Exercises

In addition to attending lectures, you must also complete exercises associated with each class. You will typically be given time to work on these exercises near the end of scheduled course time, but the duration will vary day-to-day.  You will likely need some time outside of class to complete these exercises. The purpose of these exercises is to give you additional opportunities to solve real-world problems using your newly acquired programming skills. 

While correctness is important, your effort on these assignments will be weighted heavily.  This includes, but is not limited to, thorough commenting of your code.  Homework exercises assigned during the previous week are due on Gradescope before the start of the Tuesday class.  All exercises must be submitted no later than two days after the official due date to receive credit.

Programming Assignments

Throughout the course of the semester, you will complete several programming assignments.  These assignments are designed to give you additional practice with the material we are covering in class.  Please refer to the individual assignments as they are released for detailed instructions on how and what to submit and specific due dates.  Points will be deducted for late assignments, and all assignments must be submitted no later than one week after the official due date to receive credit.

You must email the course instructor if unexpected circumstances prevent you from completing programming assignments on time. 


Each week, there will be a 30 minute quiz for you to complete in class on Tuesdays.  This quiz will typically focus on material covered over the past week, and you will need to both read and write code.  You are encouraged to review recent class material before coming to class.  Weeks without a quiz will be announced.

Final Project

There is no final project in this course.  Instead, there will be several programming assignments during the course of the semester (see above).


There are no traditional exams in this course (including no final exam). 


Students are expected to attend each class meeting. Absences will leave holes in your understanding of course concepts. If you must miss a class, you are expected to make up the material on your own time before the next class. You are welcome to attend student hours if you have specific questions about the material you missed, but you will not receive any help if you ask, "what did I miss?" during student hours.

I do my best to post resources from class online (slides, recordings, etc.), but I write a significant amount on the board. This means you will need to review notes from a peer or rewatch the video recordings.

Should you become unable to attend class (e.g., you become sick, you have a doctor’s appointment, or your housing situation changes), please email the course instructor as soon as possible.


Final grades are based off of a cumulative point system. All points carry equal weight in this class.  That means, for example, that 1 point from a homework exercise is equivalent to 1 point from a quiz.  The point breakdown for this course will be roughly 40% exercises, 35% quizzes, and 25% programming assignments.  Note that this is only an estimate; the actual point breakdown may be different.

Your final grade will be calculated as follows. First, the percent of total possible points you received is calculated. Then, this percentage is mapped to a numeric grade on the 4.00 scale (see below). Note that I do not guarantee any particular rounding scheme for this calculation.

The following table shows how averages translate to the 4-point grading scale.





























Regrading Policy

Requests for an assignment regrade must be made to the instructor within one week of the assignment being returned to the student and by the final day of classes. Any requests submitted after this may be done at the instructor’s discretion. The instructor reserves the right to regrade the entire assignment, which may result in either an increase or a decrease in your grade. This is not intended to scare off students, but to avoid frivolous requests.

Examples of appropriate reasons for requesting a regrade include:

  • You believe your answer to a question matches the answer on the key.
  • Your answer is different from the key, but is also correct.
  • There is an error in the summation of points.

Examples of inappropriate reasons for requesting a regrade include:

  • Your programming assignment works on your computer but not the grading server.
  • Most of what you wrote on an exam was correct, but you want more partial credit.
  • You are one point away from a 3.75 and are trying to get extra points.

Electronics Policy

Our class takes place in the Bewkes 109 computer lab.  Therefore, you will have access to a campus computer during class.  You may also use these computers outside of class time; however, other classes do meet in this room.

Because you will be writing programs outside of class, students will benefit from a computer with an internet connection to participate in this course. If you do not have access to a reliable computer, please contact the instructor as soon as possible.  There may be resources available to help.

Students are expected to remain on task during activities (no excessive web browsing, social media usage, etc.), as per the professionalism policy.  If you have any concerns about this request, please contact me outside of class, and we will work together to find an appropriate solution.

Generally speaking, I encourage taking notes by hand. At least one study found that students who took notes longhand remembered more and had a deeper understanding of the material.  I typically take notes on the board (rather than using slides), which will help you keep up if you are taking notes by hand.  

Academic Integrity and Professionalism Policy

As noted in the Academic Honor Code in the Student Handbook, “all students at St. Lawrence University are bound by honor to maintain the highest level of academic integrity.”  Please review the handbook for general guidelines.  In particular, you should only be turning in your own work.  Additionally, you are expected to abide by the additional policies listed below.  It is the instructor’s responsibility to report violations of these policies to the Dean.

Students are also expected to act in a professional manner for the duration of the course. This includes (but is not limited to): staying on task during labs, being respectful of others (especially on Piazza), and promptness for labs and deadlines. Unprofessional behavior will result in a reduction of the student's final grade.

Assignment Policies

In addition to the general policies described in the Student Handbook, you are expected to follow the following policies, which are specific to this course.


You may copy from the notes and examples provided in class, but you may not copy any other code from any other source.


Unless otherwise indicated, you may discuss the assignments with your classmates, but you must complete the assignments yourself, and you may not share code. You may only submit work that you have personally written and understood. Always make a note in your code of your peers with whom you discussed an assignment. 


In situations where partners are allowed, you are expected to develop joint code.  In a remote setting, this means sharing your screens and taking turns serving as the “driver” and “navigator”.


You must always cite any people or other allowed resources (excluding class notes, and assigned readings) that helped you complete your work.  Additionally, submitted code should be commented to indicate lines influenced by all resources (including class notes and assigned readings). Failure to appropriately cite resources will be considered a breach of the honor policy and will be dealt with as described in this document. If, at any point, you are unsure about the citation policy, ask. Your grade is not affected by the number of resources you cite; I will not be impressed by low or high citation counts. Use the resources you need to complete the assignments!  

In addition to following the practice of academic honesty, the purpose of these citations is to help you find resources when you look back at your work.  If you were confused by something before, it’s likely you might be confused by it again later.

Best Practices

When it comes to academic integrity and professionalism, it’s best to ask questions if you are unsure.  It has been my experience that most violations are acts of desperation or misunderstanding rather than ill will.  I would rather you ask for help or clarification than commit an act of academic dishonesty.

As a general rule of thumb, when you are talking to someone (other than the instructor) about work in this class, close all code that you are working on.  If you cannot look at your code (or others’ code!) while you are discussing content, it becomes significantly more difficult to violate these policies.

In most cases, I don’t believe that students maliciously break these policies; violations tend to be an act of desperation. If you are tempted to copy code from online, a classmate, or a peer, STOP and email me.  You will find that my late assignment penalty is significantly less harsh than my academic dishonesty penalty.

Course Platforms


All course materials will be available through our Canvas course page.  This is the “home base” for this course.  If you are looking for something related to CS-140, this is the place to start!


You will submit assignments for this course using Gradescope, which will be linked directly from Canvas.  For programming assignments, you will upload your Python files directly.  When submitting a written assignment, you will need to convert your submission into either a PDF or a set of picture files. Contact the instructor if you have any difficulty uploading your assignments.


Recordings of classes will be available on Panopto under the Panopto link.  You can access these videos by using the direct links provided in Canvas.

Mental Health and Wellbeing

St. Lawrence University is committed to advancing the mental health and wellbeing of its students.  If you or someone you know is feeling overwhelmed, depressed, and/or in need of support, services are available.

For help, contact the Diana B. Torrey '82 Health and Counseling Center at (315) 229-5392 Monday through Friday from 8:30 AM–4:30 PM.  After hours, call Campus Safety at (315) 229-5555 to speak with the after-hours crisis counselor.  The nation-wide 24/7 crisis counselor service can be reached by calling (315) 229-1914.

For more details, visit


Student Accessibility Services

Your experience in this class is important to me.  It is the policy and practice of St. Lawrence University to create inclusive and accessible learning environments consistent with federal and state law.  If you have already established accommodations with the Student Accessibility Services Office, please meet with them to activate your accommodations so we can discuss how they will be implemented in this course.

If you have not yet established services through the Student Accessibility Services Office but have a temporary health condition or permanent disability that requires accommodations (conditions include but not limited to; mental health, attention-related, learning, vision, hearing, physical or health impacts), please contact the Student Accessibility Services Office directly to set up a meeting to discuss establishing with their office.  The Student Accessibility Services Office will work with you on the interactive process that establishes reasonable accommodations.

Color Vision Deficiency

If you are color vision deficient, the Student Accessibility Services office has on loan glasses for students who are color vision deficient.  Please contact the office to make an appointment.

For more specific information about setting up an appointment with Student Accessibility Services please see the options listed below:

Telephone: 315.229.5537


For further information about Student Accessibility Services, you can check the website at

Diversity and Equity Statement

As indicated by the University’s Statement on Diversity and the student handbook, we are committed to treating students fairly and with dignity regardless of age, color, creed, disability, marital status, national origin or ancestry, race, religion, sex (including gender identity and gender expression), sexual orientation, and/or veteran status. 

It is my intent that students from all diverse backgrounds and perspectives be well served by this course, that students’ learning needs be addressed both in and out of class, and that the diversity that students bring to this class be viewed as a resource, strength and benefit.  Should you have any concerns, problems, or suggestions, please do not hesitate to contact me. I strive to make my classrooms safe spaces for learning.

Please also feel free to talk to me about events that happen outside my classroom.  If you do not feel comfortable talking to me, there are many other resources available to you on campus, including those on this list of on-campus resources:

You can report a bias incident here:


The Peterson Quantitative Resource Center (PQRC) offers free, no appointment necessary peer tutoring across a range of courses with quantitative content.  The PQRC student staff of mentors is trained to assist students to develop and to improve their quantitative skills and understanding.  More information about the PQRC’s current hours and modes of operation can be found at the PQRC webpage:


Your class work might be used for research purposes. For example, we may use anonymized student assignments to design algorithms or build tools to help programmers or teachers. Any student who wishes to opt out can contact the instructor to do so up to seven days after final grades have been issued. This has no impact on your grade in any manner.

Right to Revise

This is a "living syllabus". Therefore, its contents may be changed throughout the course of the semester to address changing needs. I will do my best to notify students of changes; however, it is up to the student to monitor this page for any changes. Final authority on any decision in this course rests with the instructor (i.e., Kevin Angstadt), not with this document.

Many ideas for this class were borrowed from similar classes taught at St. Lawrence, Macalester College, Grinnell College, UVA, and Michigan.

Course Summary:

Date Details Due