Computer Science I

Peter lemieszewski

Email: pelemieszewski @ vassar dot edu

Office: Sanders Physics 104

Office hours: Mondays and Fridays, 1-3PM. Other times by appointment. I recommend coming to office hours!

Students in sections 4 and 5 for cmpu-101 meet together for the classroom lectures. Fortunately or unfortunately, we have to separate the two sections for the labs due to space limitations.

  • Monday 10:30 - 11:45 in NE 206
  • Wednesday 10:30 - 11:45 in NE 206
  • Friday[4] 09:00 - 11:00 in SP 309
  • Friday[5] 03:10 - 05:10 in SC 006
  • “A Data-Centric Introduction to Computing”, Kathi Fisler, Shriram Krishnamurthi, Benjamin S. Lerner, and Joe Gibbs Politz. Online at:
  • Related: the Interactive Development Environment (IDE) that we'll use for the course is in a browser! Online at:
  • This course introduces foundational concepts of computer science. Our goal in this course is to introduce students to the principles of systematic problem-solving through programming and the basic rules of computation. We will explore the "how to" of problem-solving using a virtual toolbox containing a textbook (see below), Pyret, an IDE and simple learning language, and Python, one of the essentials for both computer science and data science.

    Everyone here has the ability to succeed in this course. Your desire to learn is the necessary prerequisite.

    At the completion of the course, students will be able to:

    • Develop programs that process and manipulate data in a variety of shapes, including tables, lists, and trees
    • Decide how to organize data for efficient, maintainable computational processing
    • Describe the social implications of large-scale data collection, retention, and use
    • Decompose programming tasks into solvable subtasks, informing the structure of your programs
    • Develop good automated tests to sufficiently verify a program’s correctness
    • Develop and analyze programs
      • Still to come
      • Labs: 20%
      • Homework assignments: 20%
      • Early term exam: 20%
      • Late term exam: 20%
      • Final exam: 20%

      Labs (The first 20%)

      The purpose of the labs is to give you hands-on experience with the tools in your virtual tool-box. They are also useful to help clarify concepts introduced during lectures/readings. Labs will be evaluated for correctness. This means, at a minimum, that the resultant programs run to completion. Lab sessions are two hours long. Many labs can be completed in less time, and you can leave when your lab work has been checked by the instructor or a coach. However, everybody works at different speeds, so some labs may take more time for you to complete. If you need a bit more time to finish the lab work, it is perfectly fine; you should have what you’ve written reviewed before the lab period ends, and you can finish your lab work any time before the next class. You can have a coach check off your work live during coaching hours (recommended) or you can submit the files on Gradescope. Your lab assignment, however, won’t count as much if you submit it after the start of the next class because I’ll be sharing example solutions at that time for everyone’s benefit. Submit it anyway, you shall. And I will stop writing sentences that Yoda would write.

      We will be using Gradescope to provide feedback on your work. Homework and labs will be submitted through Gradescope, and homework and exam grades will be returned through Gradescope. As soon as grades are posted, you will be notified immediately so that you can log in and see your feedback. We’ll go over submitting on Gradescope during the first lab.

      Homework Assignments (The next 20%)

      Programming assignments will expand upon the concepts introduced in class and practiced in lab. You can expect an assignment each week (except when there’s an exam). Assignments and due dates will be listed on the calendar on the course website. Students will submit their work on Gradescope. Students’ work will be evaluated based on correctness and good programming style. Additional information on assignment grades will accompany the first assignment.

      Homework assignments are due at 11:59pm on the Thursday one week after the assignment is posted on our web page. If you don’t finish by the deadline, you can submit your work by the late deadline i.e., the start of the next class meeting. If you miss the official deadline, but meet the late deadline you will receive a 10% grade penalty. If you are sick and unable to complete the assignment, you should visit Baldwin and get on the disability list so I can waive deadlines for you as needed. If you are experiencing some difficulty that is interfering with your ability to complete your class work, you should talk with your class advisor, the Dean of Studies, Counseling Services, or Health Services, who will recommend appropriate accommodations to all of your professors, who honestly want you to succeed.

      Exams (The next 20% * 3)

      There are two exams during the semester as well as a final exam. The first two exams will be given during one of the lab times. During each exam, you may refer to an 8.5×11-inch piece of paper, double-sided, with anything written (or typed) on it that you want. Preparing this sheet of notes is an excellent way to study, encouraging you to consider important topics that you will want to reference. Because of the inherently cumulative nature of this course, each exam will necessarily rely on content from previous exams. However, the emphasis of each exam will be on the material introduced since the previous exam.

      Class attendance is mandatory!!1! I will take attendance.

      Of course, I understand that there are rare instances when you might not be able to attend a lecture or lab because of health (or other) reasons. If that is the case, please let me know via email. When you are able, find the time to catch up (review or code) on anything you missed. Contact your fellow students, one of the coaches, this website's schedule or me.

      Use of electronic devices for note taking during lectures is permitted. However, devices must be in silent mode at all times so as to not disturb the class. The use of electronic devices for non-class related purposes is prohibited.

      Labs will require the use of a computer. There is a sufficient number of desktop workstations for your use.

      Simply put, do your own work and do not share your work. I can safely assume that you are here to learn and that cannot be done without putting in the time to understand the course material and writing your own code.

      So, copying a solution no matter the source, is not doing your own work and is strictly forbidden.

      General discussions of approaches and techniques are allowed.

      Asking coaches, or me, for help when you are stuck on something is encouraged.

      Regarding collaboration, a goal of the course is to gain an understanding of computer science, In the "computer science world, collaboration is the norm. As such, you’re encouraged to discuss class material with other cmpu101 students when reading, studying, and thinking about the problems. In lab sessions, you have the option to work with a classmate. If you do so, you are expected to design and implement the solutions together. If you work with another student in a lab session, you should each submit a copy of your joint work. Submitting work you have not contributed to fairly or do not understand is academic dishonesty. You may also consult with your classmates as you work on homework assignments, but you are not permitted to look at another student’s code or to talk about assignments in terms of code or pseudocode. In addition, you must cite any books, articles, websites, lectures, etc. that have helped you with your work. Exams must be completed individually. Do not discuss the content of the exam with anyone but the professor until the exams are graded or example solutions are released.

      If you haven’t already done so, you should read “Going to the Source”, available from the Dean of the College website. Note that the guidelines that apply to writing in general apply equally to the writing of computer programs. Copying someone else’s code without attribution is plagiarism. Give proper attribution for the help you receive. Quoting from Chapter X, “In suspected cases of plagiarism, the instructor prepares a written statement of complaint to the Academic Panel.” Please don’t put yourself or your professor in that position. When in doubt, stop and ask me first.

      • The Quantitative Reasoning Center ( helps students improve their analytical skills pertaining to quantitative subjects.
      • The Writing Center ( helps students improve the clarity and cogency of their writing.

      Academic accommodations are available for students registered with the Office for Accessibility and Educational Opportunity. Students in need of ADA/504 accommodations should schedule an appointment with the professor early in the semester to arrange for said accommodations.

      I try to create a learning environment that supports diversity of thoughts, perspectives, and experiences, and honors your identities. If you have a name and/or set of pronouns that differ from those that appear in your official records, please let me know! If you feel that your performance in the class is being impacted by your experiences outside of class, please don’t hesitate to contact me. If you prefer to speak with someone outside of the course, you can contact your class advisor or the Dean of Studies. Like many people, I am still learning about diverse perspectives and identities. If I or anyone else says something in class or lab that made you feel uncomfortable, please let me know.

      Title IX Vassar College is committed to providing a safe learning environment for all students that is free of all forms of discrimination and sexual harassment, including sexual assault, relationship abuse, and stalking. If you (or someone you know) has experienced or experiences any of these incidents, know that you are not alone. Vassar College has staff members trained to support you in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, helping with legal protective orders, and more. Please be aware that all Vassar faculty members are “responsible employees,” which means that if you tell me about a situation involving sexual harassment, sexual assault, relationship abuse, or stalking, I must share that information with the Title IX Coordinator. Although I have to make that notification, the Title IX office will only provide outreach by email. You will control how your case will be handled – you don’t have to read or respond to the email, and it is completely up to you whether to pursue a formal complaint. Our goal is to make sure you are aware of the range of options available to you and have access to the resources you need for success. See the next section for some of these resources.

      Vassar College is committed to providing a safe and respectful learning environment for all students. An environment free of all forms of discrimination and harassment, including sexual assault, domestic violence, dating violence, and stalking. Vassar College has staff members trained to support students in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, helping with legal protective orders, and more:

      • Counseling Service (, 845-437-5700)
      • Health Service (, 845-437-5800)
      • Nicole Wong, SAVP (Sexual Assault and Violence Prevention) director (, 845-437-7863)
      • SART (Sexual Assault Response Team) advocate, available 24/7 by calling the CRC at 845-437-7333
      • The SAVP website and the Title IX section of the EOAA website ( have more information, as well as links to both on- and off-campus resources.


      This course – and this syllabus – is based in large part on work by other professors, especially Kathi Fisler and colleagues at Brown University. The policy on asking and answering questions and on communication on Ed is adapted from Laney Strange. The statement on diversity and inclusion is adapted from Monica Linden. This syllabus was originally written by Jonathan Gordon with minor updates by me!