CSc 110: Introduction to Computer Programming I

Syllabus, University of Arizona, Summer 2017

Course Description

This course provides an introduction to programming using the Python programming language. We will explore common computational problem-solving techniques useful to computer scientists but also to anyone who has large data sets, repetitive processes or other needs for computation. No prior programming experience is assumed, although students should know the basics of using a computer (e.g., using a web browser and word processing program).

Location and Time

Lectures in Gould-Simpson 906. Tu/Thu/Fri 8:00am-9:50am.


Teaching Assistant(s)

See course web-page

Prerequisites and Co-Requisites

College Algebra is a pre-requisite.

Course Format and Teaching Methods

We will meet three times a week, for 2 hours. The lecture and the section for this class are combined into a single session. The majority of the time will be spent as a traditional lecture, and some will be use as section time, for you to work through problems and ask questions.

Assignments will be done individually and in small groups.

Course Objectives and Expected Learning Outcomes

At the end of this course, students should:

Class Web Pages

Texts and Readings

There are several required texts/resources for this class. However, all of the are legally available for free online.

The instructor may assign additional readings from online articles, blogs, papers, and library resources.

Grading Scale and Policies

The points for this course are distributed as follows:

As you can see 53% of the grade comes from exams and quizzes. The other 47% comes from assignments.

Final grades will be assigned by summing up the points earned from the exams, quizzes, and assignments. The final grade will be chosen based on the following rubric:

University policy regarding grades and grading systems is available at

The Department of Computer Science Grading Policy is as follows:

Quizzes and Exams

The exams and quizzes may cover material discussed in class, sections, and in the assigned readings. They will also draw from concepts that are exercised by the homework assignments. Exams and quizzes will be graded and returned within one week of being administered to all students.

All exams and quizzes may include any material covered up to the point of the exam.

Exams and quizzes must be taken during the assigned class period for students not in the online section. Exams and quizzes may not be made up, except in the case of an emergency situation. If an emergency arises and a student is unable to take an exam or quiz because of it, students must provide documentation showing why they were unable to attend the exam or quiz.


The major outside-of-class activity for this course will be in the form of homework assignments. We assign them so that you will learn the concepts covered in lecture and learn how to write complete, functional, and understandable computer programs. The length of time you have to complete each assignment will vary.

All of the homeworks will be programming assignments. These assignments will be graded based on both program correctness (passing all of the test cases that we throw at it) and code formatting style (properly indenting code, good commenting, and following naming/style conventions). All homework assignments will be graded within one week after the last valid submission date.

There are no scheduled extra credit opportunities, but they may be assigned by the discretion of the instructor.

Homework assignments are due at the date/time specified on each assignment. Each student will be allowed 2 late days over the course of the semester. If a student chooses to use a late day, they may submit a homework one day (24 hours) late without penalty. Only one late day may be used per assignment. Once all late days have been used, a late homework submission will result in a grade of zero.

Class Schedule

See the “schedule” section of the course home-page.

Exam Makeup

If you are unable to take one of the mid-semester exams or the final exam at the scheduled time for a valid reason, you must contact Benjamin to get permission to take a makeup test. Unless you are physically unable, send an email BEFORE the test with at least 48 hours of notice. In this email, describe why you cannot take the exam at the scheduled time and location, and how you can be contacted to discuss how to make up the test. Without previous notification and a valid excuse you may not be able to make up the missed test. Documentation may be required. Notice the final exam due date. Do not make travel plans that would have you leaving before the final exam unless you are willing to accept a zero on your final.


Typically (in a 16-week course), weekly 50-minute sections are held at a separate location and time from lecture. Since this class is smaller and will have a faster-pace, sections will be combined with class.

Classes are 110 minutes long. Typically, Lecture will be held for the first ~80 minutes, and the last 30 minutes will be used as section. During section time, you will have the opportunity to work through guided practice problems to help reinforce concepts.

Some class meetings may not have a section component (for example, we will probably not have them on exam days).

Computer Labs

The Department of Computer Science computers labs, located in Gould-Simpson rooms 228 and 930, will be available for your use for the programming assignments. These labs will be accessible to you 24 hours a day, seven days a week. You will also be able to complete your assignments using your own computer. All of the software we use in this class will be freely (and legally!) available for you to download and install. If you do decide to use a system outside of those labs for your assignments, it’s your responsibility to learn how to set it up and use it effectively, though we will help you when we are able. So that the section leaders and/or TAs can test and grade your programs, you’ll be required to electronically transfer (“upload”) the source code to D2L before the due date. Be certain that your program runs correctly before you submit it, because we will test them extensively to be sure they work as expected.


Attendance for lectures is not recorded. However, each student is fully responsible for all material covered by reading assignments, lectures, and handouts. Attendence for section is recorded, and is required.


This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email

Find our class page at: TBD

Students with Disabilities

If you anticipate barriers related to the format or requirements of this course, please meet with me so that we can discuss ways to ensure your full participation in the course. If you determine that disability-related accommodations are necessary, please register with Disability Resources (621-3268; and notify me of your eligibility for reasonable accommodations. We can then plan how best to coordinate your accommodations.


You will be required to use the following software in this class:

Classroom Behavior

The University of Arizona has an explicit policy on disruptive behavior:

To foster a positive learning environment, students and instructors have a shared responsibility. We want a safe, welcoming, and inclusive environment where all of us feel comfortable with each other and where we can challenge ourselves to succeed. To that end, our focus is on the tasks at hand and not on extraneous activities (e.g., texting, chatting, reading a newspaper, making phone calls, web surfing, etc.). Inclusive Excellence is a fundamental part of the University of Arizona’s strategic plan and culture. As part of this initiative, the institution embraces and practices diversity and inclusiveness. These values are expected, respected and welcomed in this course.

Students are asked to refrain from disruptive conversations with people sitting around them during lecture. Students observed engaging in disruptive activity will be asked to cease this behavior. Those who continue to disrupt the class will be asked to leave lecture or discussion and may be reported to the Dean of Students.

Threatening behavior

All students are expected to abide by the Universities “Threatening behavior policy” which can be found here:

Nondiscrimination and Anti-harassment policy

All students are expected to abide by the Universities “Nondiscrimination and Anti-harassment” policy which can be found here:

Accessibility and Accommodations:

At the University of Arizona we strive to make learning experiences as accessible as possible. If you anticipate or experience physical or academic barriers based on disability or pregnancy, you are welcome to let me know so that we can discuss options. You are also encouraged to contact Disability Resources (520-621-3268) to explore reasonable accommodation.

Please be aware that the accessible table and chairs in this room should remain available for students who find that standard classroom seating is not usable.

Academic Integrity and Penalties

Programming projects and assignments in this course require individual attention and effort to be of any benefit. Unless otherwise specified in the published assignment, all work is expected to be that of each student alone. You may not consult with others, except in ways specifically authorized by the course instructor. Students are responsible for understanding and complying with the University’s Code of Academic Integrity. The Code can be found at this link The full text is also available from the Office of the Dean of Students in Room 203 Old Main.

Among other provisions, the Code demands that the work you submit is your own, and that graded programs and exams will not subsequently be tampered with. The Code also demands that you do not copy code when it is part of a published class assignment. It is immaterial whether the copying is done electronically, by retyping the code, looking at another’s computer screen, or any other means. Violations of Academic Integrity will result in a report filed to the Dean of Students. Sanctions include receiving an E for the course, even if it is a first violation. If other reports have been filed from any department, the Dean of Students may issue more severe sanctions including suspension or expulsion from the university. You are better off receiving 0 for one project rather than an E for the course and a report on your University record. Avoid Sanctions by beginning your projects as soon as possible. Do not wait until the due date! Do not look at another person’s test while the test is in progress. Do not look at other’s code, even if it is just on the screen. Do not copy files. Do not give your code to anyone even if the other person promises not to turn it in as their own, in which case you who did all the work may suffer the same sanctions as the cheater.

Department of Computer Science Code of Conduct

The Department of Computer Science is committed to providing and maintaining a supportive educational environment for all. We strive to be welcoming and inclusive, respect privacy and confidentiality, behave respectfully and courteously, and practice intellectual honesty. Disruptive behaviors (such as physical or emotional harassment, dismissive attitudes, and abuse of department resources) will not be tolerated. The complete Code of Conduct is available on our department web site. We expect that you will adhere to this code, as well as the UA Student Code of Conduct, while you are a member of this class.

Subject to Change

Information contained in this course syllabus is subject to change with reasonable notice.