Syllabus

Introduction

This course is a hands-on introduction to programming using the Python programming language. It covers basic programming constructs including statements, expressions, variables, conditionals, iteration, and functions, as well as object-oriented programming, and graphics. It is recommended for non-majors, and students with less math, and science background. Lab, and workshop required.

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.

Intended Audience

Students interested in introductory Computer Science, but who are not intending to be CSC majors should generally take CSC 161. This course is also appropriate for students who may want to pursue a CSC degree, but who want a gentler introduction to the discipline.

Additionally, please note that CSC 161’s cousin course CSC 171, has no prerequisites. It is more intensive than CSC 161, and provides preparation for subsequent CSC courses. CSC 161 is not equivalent to CSC 171 for Computer Science degree programs.

About the Python Programming Language

Python is a widely used general-purpose, high-level (“easy”) 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.7, or later

Topics

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

Schedule

Class will meet:

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

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

Textbook

There is no required textbook for this course.

View the Reading Room, to look at recommended books, and resources you can use.

People

Instructor

Name E-mail Office Hours
Prof. Richard Sarkis rsarkis@pas.rochester.edu B&L Hall, Rm. 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
Komail Dharsee kdharsee@cs.rochester.edu Wegmans Hall 3203 Tues & Thurs 12:35pm-1:35pm

Lab TAs

Find your lab TAs on the Labs page.

Lab TAs can only be utilized in person, in a lab section. They will not be allowed to provide you any significant help by e-mail.

Workshop Leaders

Find your workshop leader on the Workshops page.

Workshop leaders will not be allowed to help you with lab assignments, or projects. Please see a lab TA for this help.

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 workshop, after the workshop on that topic have completed.
  • Exams: There will be two exams, a midterm, and a final.

Grading

Course Components

  • 35% Exams (17.5% Midterm, 17.5% Final)
  • 25% Project
  • 20% Homework Assignments
  • 10% Quizzes
  • 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 Administration Policies

  • Registration

    Please attend only the lecture, lab or workshop section for which you are registered to as it will cause* confusions, and errors with grading.

    If you need to permanently switch a 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

    Lectures do not require attendance, but it is appreciated; however, it attendance is required for exams. If you chose not to attend regular lectures, you will miss useful, and 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. Quizzes are given in workshop, doubling their importance.

  • Excuses

    Students who are unable to attend, or complete any part of the course due to illness should contact the instructor as soon as possible. Please note that the University Health Service (UHS) does not provide retroactive excuses for missed classes. Students who are seen at UHS for an illness, or injury can ask for documentation that verifies the date of their visit(s) to UHS without mention of the reason for the visit. Students with extended or severe illness should contact the College Center for Advising Services (CCAS) for advice, and assistance.

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

  • Incompletes

    This course follows the University policy regarding incompletes:

    “Incompletes may be given only when there are circumstances beyond the student’s control, such as illness or personal emergency, that prevented the student from finishing the course work on time.”

Class Work 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

    All assignments, and activities associated with this course must be performed in accordance with the University of Rochester’s Academic Honesty Policy.

    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.

  • Disability Resources

    The University of Rochester respects, and welcomes students of all backgrounds, and abilities. In the event you encounter any barrier(s) to full participation in this course due to the impact of disability, please contact the Office of Disability Resources. The access coordinators in the Office of Disability Resources can meet with you to discuss the barriers you are experiencing, and explain the eligibility process for establishing academic accommodations. You can reach the Office of Disability Resources at: disability@rochester.edu; (585) 276-5075; Taylor Hall.

    Students with an accommodation for any aspect of the course must make arrangements in advance through the Disability Resources office. Then, as instructed by the office, contact the instructor to confirm your arrangements. Do not leave this until the last minute.

  • Electronics In Lecture

    Most electronics (mostly, phones) are not permitted in class. I will ask you to put away a phone if it is disrupting the class.

    I understand that you may want to use your laptop to program along with me, in the lecture. I am OK with that; however note 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, and retention even more.

    If you have an approved accommodation that requires the use of a laptop, or other electronic device in class in a manner beyond what is approved, you must make arrangements with the instructor.

Student Assessment Policies

  • 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 responsibility 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.
    • Projects cannot be made-up.
    • Workshops cannot be made up if missed.
    • Labs, and exams can only be made-up given an appropriate excuses.