CSc 110 - Introduction to Computer Programming I

University of Arizona, Fall 2019

Course Description

An introduction to programming with an emphasis on solving problems drawn from a variety of domains. Topics include basic control and data structures, problem solving strategies, and software development tools and techniques. Specifically, the Python programming language will be taught.

Location and Time

This class will meet M/W/F in the Gallagher Theater. However, there are two different meeting-times for CSc 110. One meets 2:00-3:10pm and the other 3:30-4:40pm. You must determine which you are registered for in UAccess, and you must attend the correct one.

Prerequisites & Co-Requisites

The only prerequisite is College Algebra.

Instructor & Teaching Staff

There will also be a number of student teaching assistants. See the class website for a full list.

Course Format and Teaching Methods

The course will have three required meeting times per-week. The in-class experience will consist of a combination of lecture, programming demonstrations, and in-class activities. This course will use active learning, peer-teaching, and flipped-classroom teaching techniques.

By active learning, I mean that class time won’t be just 70 minutes of me talking. Instead, class meetings will include a number of in-class activities (ICAs) for you to work on individually and/or in a group. Thus, you can spend some time “actively” learn, rather than “passively” listen to the instructor.

By peer-teaching, I mean that you will have opportunities to learn from your classmates, and vice-versa. In many of the in-class activities, you will be able to work on groups and help each-other when necessary.

By flipped-classroom, I mean that you will often be assigned reading or other material to complete before attending each class meeting time. By doing this, you will come to class with (at least some) preparation. This will hopefully result in more class time allocated towards active learning!

Course Objectives & Learning Outcomes

This successful CSc 110 student will be able to:

(These learning outcomes are derived from ones developed by Allison Obourn and other faculty at the UA).

Coursework and Grading Policies

The breakdown of grades in this course is as follows:

Attendance in class will be kept track of, and will contribute to 9% of the student’s final grade. On the majority of class days, there will be one or more attendance questions, which each student will answer on their device, and that will count as their attendance point for that day. If you have an internet-access-capable portable device (laptop, smart-phone, tablet) you should bring one or more to class. If you do not have access to this, talk to the instructor and special accommodations can be made. Students must be in-class for this to count. If you miss more than 7 classes/attendance-questions, your final course grade will be docked by 10%.

There will be assigned readings from the course textbook throughout the semester. There will be a quiz due before the majority of regular classes on the reading material. In total these will contribute to 9% of the student grade. Some class days may not have a quiz due, such as the first day of class, exam days, etc.

There will be weekly programming assignments throughout the semester, which will contribute to 32% percent of the student’s grade. There will be around 14 of these. The majority of these will be individual projects, but the instructor reserves the right to make some group-based. Some of these PAs will be accompaied by a short PA. Combined, these will be worth 5% of your course grade. In total, the regular and small PAs are worth 37% of your grade.

There will be four exams throughout the course (including the final), for a total of %45. These exams may cover material from class, the programming assignments, the final project, and the readings.

The three non-final exams will be worth 30% of your grade. The first three exams will have two components each: a group component and an individual component. The group component with be worth 30% of the exam and the individual component will be worth 70% of the exam. Your lowest individual exam grade will be dropped. Thus, each of the two non-dropped individual exams will be worth 21% of the grade. If you arrive at class more than 15 minutes late for a group exam, the instructor reserves the right to not let you participate, deduct your grade, or give you a zero. If you would like an exam regraded, we reserve the right to regrade the entire exam, not only the parts you might question.

The final exam is worth 15%.

The instructor and teaching staff will do their best to have grades back to students within 1 week. This includes, but is not limited to, grades for exams, projects, programming assignments, attendance, and quizzes. Once a grade has been entered for a particular item on the digital grade-book, students have at most 5 days to dispute the grade. This includes disputes related to excuses such as sickness, personal matters, dean’s excuses, etc. If 5 days pass and there has not been such a request, the grade is final.

The correspondence between percentage grade and numeric grade is as follows:

Late Days

In this class, you are given 3 late days for the semester. What this means is that you are allowed to submit up to three assignments within 24 hours after the due date throughout the semester, without penalty. You should not burn through all of these free late days on the first three assignments though! Consider saving some for later in the semester, when you might be in dire need :). You may only use late days for regular PAs. You may not use them for short PAs.

Final Exam

There will be no make-up opportunities for the final exam. You must attend the final exam that corresponds with your class time.


There will be 3-4 weeks of class between each of the exams. During each of these time spans, I will break the class up into groups of 3-4 students. Thus, in total, you will be in 4 different student groups throughout the course. I highly encourage that you get-to-know all of your fellow students in each of your groups. Not only is it a good way to meet new people, but there are several additional motivations:


There is one required textbook for this course: Starting out with Python (4th). The ISBN-13 number is 978-0134444321.

This book is rather pricey on Amazon (around $100). See for yourself:

However, there is good news. Via the inclusive access program at the UofA, you can get a digital copy of this textbook for less-than $30. This should automatically be charged to your bursars account, and you should have access to the text through D2L from day-1 of the course. If you would rather have a hard-copy, there is an option to upgrade (for a fee) so that you can have the digital book and a loose-leaf copy. Though I don’t recommend it, you can also just purchase on Amazon. It might also possible to opt-out of the inclusive access for this textbook.

If you have any questions about how this book is charged to your bursars account, how to access the textbook, when it will be charged, or anything else, contact the instructor directly.

Access to Book

Course materials are being delivered digitally via D2L through the Inclusive Access program. Please access the material through D2L on the first day of class to make sure that there are no issues with delivery so any problems can be addressed quickly. You automatically have access to the course materials FREE through September 8, 2019. You must take action (even if you have not accessed the materials) to opt-out if you do not wish to pay for the materials, and choose to source the content independently. The deadline to opt-out is September 8, 2019. If you do not opt-out and choose to retain your access, the cost of the digital course materials will appear on your September Bursars account. Please refer to the Inclusive Access FAQs at for additional information.


When posting on piazza, you should not include more than 10 lines of code, total, in a given post. I will be instructing the TAs to not provide help if we receive posts with more code than this. If you are wanting to ask a question that would include more than 10 lines of code, then take a step back and try to think through the issue you are facing in more depth, and do a little bit of debugging on your own, so that you can narrow down the course of the issue.


This class is an introduction to programming, specifically programming in Python. Specifically, we will be using Python 3.5 or greater. You can download it here: We will be using the Mu Editor to write Python code in.

If you have a personal computer, you should download and install Python and Mu on your machine.

As a CSc 110 student, you will also have access to the computer science lab, located in Gould Simpson room 228. This room is equipped with a number of computers that you may use to work on your programs. You will need to swipe your CatCard in order to enter the lab.

Getting Help

Likely, some (or many) of you will find this course challenging. The instructor and teaching staff provide a number of opportunities to receive help when you are stuck.

The instructor (Ben) will have several office hours each week. There will also be a number of teaching assitants (TAs) on the course teaching staff. Each TA will have 1-3 hours of office or lab -hours. Basically, this means that each TA will have time set-aside for helping students in office hours room. A schedule will be posted to the class website at some point.

If you are unable to make office or lab hours, you can also get help online. We will be using the D2L forum, and you are welcome to post questions and get help from the TAs or other students. However, you may not publicly post any of your code or solutions to problems. If you are making a public post (visible to the entire class) make sure you do not include this. If you would like to include this, post to the instructors only.

If you are ever stuck, ask for help!


Unless otherwise specified, you may not work in groups on any coursework. This includes quizzes, exams, programming drills, programming assignments, etc. You may not share code, copy/paste code, or look at each-others code. The instructor will be using software to help detect cheating (similar code).

If cheating is detected on your work, penalties may include (but are not limited to):

Course Schedule

See the schedule page on the class website for the topic and reading schedule.

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.

Classroom Behavior Policy

To foster a positive learning environment, students and instructors have a shared responsibility. We want a welcoming environment 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.).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 Policy

The UA Threatening Behavior by Students Policy prohibits threats of physical harm to any member of the University community, including to oneself. See

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.

Code of Academic Integrity

Students are encouraged to share intellectual views and discuss freely the principles and applications of course materials. However, graded work/exercises must be the product of independent effort unless otherwise instructed. Students are expected to adhere to the UA Code of Academic Integrity as described in the UA General Catalog. See

The University Libraries have some excellent tips for avoiding plagiarism, available at

Selling class notes and/or other course materials to other students or to a third party for resale is not permitted without the instructor’s express written consent.

Violations to this and other course rules are subject to the Code of Academic Integrity and may result in course sanctions. Additionally, students who use D2L or UA e-mail to sell or buy these copyrighted materials are subject to Code of Conduct Violations for misuse of student e-mail addresses. This conduct may also constitute copyright infringement.

UA Nondiscrimination and Anti-harassment Policy


Additional Resources for Students

UA Academic policies and procedures are available at Student Assistance and Advocacy information is available at

Subject to Change Statement

Information contained in the course syllabus, other than the grade and absence policy, may be subject to change with advance notice, as deemed appropriate by the instructor.