Class Objectives

Computer programming relies on organized thinking, creative problem solving, and the precise description of solutions. In this course we introduce core concepts and techniques of computer programming as a way to develop these skills, as basis for further CS study, and for application to other fields.

We’ll cover the basic principles of computer programming, a tiny part of the computer science discipline. We’ll learn about a programming language (Python) – how to write, run and create new programs in this language.

This course is the recommended first course for the B.A. in Computer Science, as well as for non-CS majors. This course has no prerequisites.

About the Python Programming Language

Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java.

This course uses Python version 3.6


The topics covered in this course can be found on the Lectures page.


Class will meet:

Section Days Time Bldg Room
50019 MW 1650-1805 WEGMN 1400

The full class schedule can be found on this page: Schedule.


There is no required textbook for this course. View the Reading Room, to look at recommended books and resources you can use.


Professor Richard E Sarkis <>

Office Hours:
Bausch & Lomb Hall, room 470
By Appointment

To find my office: Take the elevator in B&L Hall to the 4th floor. Turn left, and walk all the way to the end of the hall. My office will be on your left.

Graduate TAs

Name Email Office Hours
Weijian Li 3602 Wegmans Hall Mon 3:30pm-4:50pm
Thu 4:50-5:50pm

Lab TAs

Find your lab TAs on the Labs page.

Workshop Leaders

Find your workshop leader on the Workshops page.

Class Deliverables

  • Lab Assignments: Individual assignment work (i.e. homework) is assigned every week and due the following week.
  • Project: There will be one class project (individually done,) assigned early in the semester, and to be due at the end of semester. It will be split into three ‘milestone’ objectives.
  • Quizzes: There will be a weekly quiz covering last week’s lecture topics. The quiz will be every week in lecture, after the workshops on that topic have completed. The lowest two quiz grades will be dropped.
  • Exams: There will be two exams, a midterm and a final.


Course Components

  • 35% Exams (Midterm, Final)
  • 25% Project
  • 20% Homework Assignments
  • 10% Quizzes (lowest two, dropped)
  • 10% Workshop attendance and participation
  • Total: 100%

Grading Scale

Letter Grade Lower % Upper %
A 93% 100%
A- 90% 92%
B+ 87% 89%
B 83% 86%
B- 80% 82%
C+ 77% 79%
C 73% 76%
C- 70% 72%
D 60% 69%
E 0% 59%

Class Policies

  • Registration

    Please attend only the lecture, lab or workshop section for which you are registered to avoid any confusions and errors with attendance or grading.

    If you need to permanently switch a lecture, workshop or lab section you must add/drop the section(s) using online registration or the registrar’s Add/Drop form. Failure to do so may cause problems with grading.

  • Communication

    I respond very well by e-mail, so expect a personal conversation to end with me saying “send me an e-mail” so that I can better handle your issue.

  • Attendance

    Weekly lectures do not enforce attendence, but it is appreciated; however it is required for exams. If you chose not to attend regular lectures, you will miss important content, I guarantee it.

    Labs sessions attendance is not required. They are there for your use of the computers and the lab TAs.

    Workshops attendance and participation are mandatory and part of your final grade.

  • Excusals

    Students with an appropriate excuse for missing a deadline for a component of the course (exam, lab) must make arrangements in advance with me. No prior arrangement, no excusal! What consitutes appropriate is left to my final discretion. The general rule of thumb is:

    • Medical excuses should come with a doctor’s note (note, UHS will not give out retroactive excuses for missed class so get documentation at the time of your visit.)
    • Religious holidays conflicts need to be announced to me with clear detail and with advanced warning.

    Emergencies do happen and prior notice may not be possible. In cases of emergenices, I do ask for legitimate documentation to allow for an excusal. No proof, no excusal!

Class Work

  • Submissions

    All class content is submitted either through Blackboard (labs, project), or by pen and paper (exams, quizzes.) Workshops have no materials to hand in.

    I do not accept any e-mail submissions of graded items, and such e-mails will be ignored.

    Unless otherwise noted, you can re-submit your assignments through Blackboard as many times as you want, until the deadline. Only your last submission will be graded.

  • Due Dates

    Blackboard will list any and all due dates for assignments.

  • Appeals

    It is your responsbility to keep track of your grades, and to query your lab TAs, workshop leaders or me if you have grading questions.

    All appeals of grades for any component of the course (homework, project, quiz, exam, etc.) must be made within one week of the grade being posted, after that they will be ignored.

  • Make Up Work

    All graded components of the course will receive a grade of zero if they are handed in late.

    • Quizzes cannot be made-up (although, lowest two grades are dropped.)
    • Projects cannot be made-up.
    • Workshops cannot be made up if missed.
    • Labs and exams can only be made-up given an appropriate excuse (see above; usually medical or religious).

Additional Class Policies

  • Individual Work

    Students are encouraged to discuss the course material and the assignments with each other but the submissions must be individual and unique work.

    You must be able to explain anything you submit, in person at any time, at the instructor’s or TA’s discretion.

  • Academic Honesty

    I have zero tolerance for cheating, and will begin immediate Academic Honesty procedures if it is suspected.

  • Computer Issues

    Practice good habits with regard to your data (backups, cloud storage, etc). A broken computer is not an excuse, as you should have backups and any computer lab on campus will have Python 3 installed, allowing you to complete your work.

  • Self-Respect

    No begging for grade adjustments! They will be ignored.

Policy on Electronics

Please turn off or put into airplane mode all phones and leave them out of sight.

Unless you are taking notes with a laptop, you do not need it.

Even if you think you want to take notes with a laptop, you may be interested to know that research shows that students who take notes using pen and paper retain significantly more of the information. Typing your handwritten notes into the computer after class improves understanding even more.

If you insist on using your laptop to take notes, please turn off your wifi and otherwise disable notifications. You should probably also sit at the back of the room to avoid distracting the people sitting behind you.

Please note Section V.7 of the College’s Academic Honesty policy regarding “Unauthorized Recording, Distribution or Publication of Course-Related Materials.”

CSUG Tutoring

CSUG is the Computer Science Undergraduate Council. These students graciously volunteer their time to help other students, especially students in introductory and core courses.

CSUG Tutoring Schedule:

If you visit the CSUG tutors, please be respectful of their time and COME PREPARED. Try to solve the problem/question BEFORE going to CSUG Tutoring. Go to lab and work on the problem with the TAs BEFORE going to CSUG Tutoring. Go to workshop and discuss the problem with your colleagues BEFORE going to CSUG Tutoring. You MUST be able to show them what you have tried BEFORE you came to them.

University Policies

  • Academic honesty: Any case of academic dishonesty will be dealt with according to the University Honesty Policy.
  • Disabilities: Please see university policies on student accommodations and discuss your needs with the instructor.
  • Learning Assistance: Students who are having difficulty with course material are encouraged to talk to the instructor, and/or the staff in Learning Assistance Services.