Course Syllabus

Course Basics

Course COMP 1010: Programming for All 1
Credits 3
Pre-reqs None

Description This course is designed for non-CS major students who desire a practical course for gaining basic computer programming skills. The course will use the Python language to develop skills in problem-solving, debugging, acquiring real-world data, processing data, and interacting with and visualizing solutions. The course will show the power in writing small programs that leverage existing code to create interesting applications. Examples from a variety of fields will be used to illustrate the utility of computers and programming. Students should leave the course with the confidence and ability to write useful, small-scale programs in their area of interest.

At the end of the course, students will be able to

  • write small functions and scripts in Python to accomplish desired tasks
  • use external Python code in their own programs to add functionality to their programs
  • debug and modify small programs
  • use object-oriented constructs within their programs
  • take a real-world task and see how to use programs to automate or analyze that task 

Lectures Lectures are Mondays and Wednesdays 2:00-2:50 in WEB L104. 

Lab sessions Multiple Friday sessions in WEB L124 (MGK Mac Lab/OS X). Lab attendance at your registered lab session is required and has graded work. 

Instructor Prof. Zvonimir Rakamarić (
Instructor email (only for private matters) 
Office 3424 MEB

Teaching assistants Serena Aeschilman, Kimi Heimsoth, Trevor Richard, Kaylee Martin, Rocco Salvia

Course staff email

Textbook This course will use a variety of web resources, including readings and exercises from a free online, interactive textbook from There will be additional instructions on registering for this site.

Important dates There are tests or programming exercise testing on February 7th, March 4th, and April 10th; the final exam is from 1-3 PM on Thursday, April 23. These dates cannot be missed except for documented emergencies and you should plan around them.

In-class participation Most lectures will have audience participation questions that you can answer using a web browser on a smart phone, tablet, or laptop. These audience response questions will be through If you do not have a device to use during lectures please contact Prof. Rakamaric (

Course Materials

Website The class website is the Canvas course available through CIS. It will be updated throughout the semester with the class schedule, lecture notes, laboratory exercises, assignment specifications, and much more. 

Lecture notes The instructor will often make use of slides and other documents during lecture. These documents will be posted on the class website following the lecture; however, such posted documents may not represent completely the material covered in class. Students who must miss class are strongly encouraged to check with a classmate or TA.

Python All programming in COMP 1010 is in Python. Python is available for your use on the College of Engineering’s lab machines. Instructions for installing both on your personal computer is available on the class website in the Class Resources module.

New students should create a College of Engineering lab account at:

Student Evaluation 

Programming assignments The instructions for each assignment and its due date will be posted on the class website roughly one week before it must be submitted. Assignments are submitted online via the submission tool located beneath the instructions for each assignment. It is the student’s responsibility to ensure the successful and timely submission of each programming assignment — start early and follow the instructions carefully. Corrupted or missing files will not be grounds for extensions. Double-check your submissions, and save a digital copy of all of your work. Late assignments will not be accepted and will automatically get 0 points! In general, you should use the dropped score (described below) as the way this course handles the problems we all face during the semester rather than asking for instructor consent for late work. Longer term issues should be discussed with the instructor -- we are not trying to fail students!

Lab exercises Students in labs generally work through online instructions with the aid of the lab TA and turn in a worksheet for grading. The lowest 2 lab scores will be dropped, which can help you manage unexpected (or expected) problems with attendance. You should review the material in the online lab instructions even if you do not do the lab worksheet. Labs are very beneficial for reviewing material covered in lecture and introducing new material -- attendance is expected and graded through the worksheet mechanism.

Practical tests There will be two lab periods devoted to practical programming tests -- you will be given a series of programming problems that will be solved during the lab period for a score. These do not count as a droppable lab score. These tests will be held February 7th and April 10 and can only be missed for a documented medical emergency.

Mid-term and final exam There will be one written mid-term and a final test. The mid-term is during lecture on March 4th, just before spring break. The cumulative final exam is Thursday, April 23 from 1-3PM in our regular classroom (WEB L104). These tests cannot be missed except for a documented medical emergency.

Participation Participation will be measured through completion of assigned Runestone textbook exercises, a few online quizzes, and through participation in the audience response questions. In general, these scores will be converted into more of a participation score than a correctness score. Several audience response score will be dropped (or excused) automatically. The Runstone exercises, while required, can be done with study groups or partners without triggering the academic misconduct policy. You may explicitly work with other people on the Runestone problems. For audience response questions, you can talk with your neighbors in lecture unless explicitly prohibited.

Final course grade: Assignments 45%, Practical Tests 12%`, Mid-term and Final Exam 26%, Labs 10%, Runestone exercises, online quizzes, and lecture participation 7%.

Your weighted, cumulative course percentage score is turned into letter grades using the following scheme:

[100-94] A, (94-90] A-, (90-87] B+, (87-84] B, (84-80] B-, (80-77] C+, (77-74] C, (74-70] C-, (70-67] D+, (67-64] D, (64-60] D-, (60-0] E

where [ ] means including that number and ( ) means up to but not including. 

Regrades Students who wish to appeal a score on an assignment, a lab, or a test must do so within one week of receiving the score. For assignments and labs please contact the TA that assigned your grade. For tests please contact the instructor.

Dropped scores Students may end up missing a deadline or a lab session for a reason that is not granted an exception (generally, documented medical reasons or official University activities). Therefore, to allow for such an occurrence, the lowest score earned on an assignment, and the lowest two scores on lab exercises are dropped from the record of each student at the end of the semester. Students should plan to use the “drop scores” judiciously — there is only one for an assignment and two for a lab. These dropped scores are automatically applied. Tests and final exam scores will not be dropped. The final assignment cannot be dropped.

Getting Help 

Instructor office hours See the link at the top of the course website under Course Resources.

Teaching assistants and consulting hours See the link at the top of the course website under Course Resources for the consulting schedule of the course TAs. During consultation, use the TA Queue (also on the class website) to alert the TA on duty that you have a question. TA hours are held in the CADE lab, please see the link for more information.

Communication For questions of general interest (related to installing Python, homework assignments, labs, etc.), we encourage students to leverage the Canvas Discussions functionality, both for asking questions and for helping your fellow students by participating in discussions and posting answers. The teaching staff will actively monitor all discussions, and we will often be able to provide a quick response that might be useful to many students. Be mindful of our cheating policy and do not post things such as solutions to homework assignments, code snippets from your solution, and so on.

To send urgent messages to everyone in the class, such as corrections to assignments or changes in due dates, the course staff will make use of the Canvas Announcements functionality. Students are expected to check the announcements and the class website regularly; we suggest that you set up Canvas to alert you whenever these is an announcement posted by e.g. sending you an email.

For more specific or private questions outside of class and consulting hours, students are encouraged to use email. To ask a question of the course staff, students should use the course staff email list at

In general, we can often provide quick and detailed responses through email and it is an excellent mechanism for getting feedback. See further instructions under the Course Resources module in Canvas.

Course Guidelines 

Behavior in the classroom All students are expected to maintain professional behavior, according to (the University of Utah Student Code). Students should read the Code carefully and know that they are responsible for the content. According to Faculty Rules and Regulations, it is the faculty responsibility to enforce responsible classroom behaviors, beginning with verbal warnings and progressing to dismissal from class and a failing grade. Students have the right to appeal such action to the Student Behavior Committee. 

Students are expected to engage with the instructor and classmates during class meetings. Students are permitted to use a laptop or mobile device to take notes or to participate in course questions. Use of a laptop or mobile device for any other purpose is not permitted, and students who do so will be asked to leave the classroom. While you may consider it a right to casually browse the web, engage in social media, or play games during lecture, such activity is very distracting to others (especially in a crowded classroom) and is not permitted.

Working together Students are encouraged to discuss assignments and laboratory exercises with fellow classmates, but each student is responsible for formulating and writing their own answer. Cheating is: sharing written or electronic work either by copying, retyping, looking at, or supplying a copy. Cheating is not: discussing concepts, answering questions about concepts or clarifying ambiguities, or helping someone understand how to use the class tools and software. 

Students may occasionally be required to work on assignments or lab exercises in pairs. Guidelines and rules for working together will be posted with such assignments. 

Cheating is taken very seriously and students must be careful not to collaborate on assignments. Further details about what constitutes cheating, and what the resulting actions by the course staff will be, can be found under Course Resources.

Submissions are routinely checked by the course staff for signs of unauthorized collaboration. 

There must be no collaboration during tests or the final exam. Please see the University of Utah Student Code for a detailed description of the university policy on cheating.

Any student found cheating will fail the entire course. 

We will adhere by the School of Computing policy on academic misconduct.

College of Engineering guidelines For information on withdrawing from courses, appealing grades, and more, see the College of Engineering guidelines at


It is our intent that students from all diverse backgrounds and perspectives be well-served by this course, that students' learning needs be addressed both in and out of class, and that the diversity that the students bring to this class be viewed as a resource, strength and benefit. It is our intent to present materials and activities that are respectful of diversity: gender identity, sexuality, disability, age, socioeconomic status, ethnicity, race, nationality, religion, and culture.

We also except students to treat others in the class, including the teaching staff, with the same level of respect.

Your suggestions on how we can make the course more inclusive and welcoming are encouraged and appreciated. You can give us feedback in person during office hours, or through our anonymous form. (Links to an external site.)

We take incidents of discrimination, bias, and harassment seriously. We will file reports with the Office or Equal Opportunity, Affirmative Action, and Title IX (OEO) (Links to an external site.) about such incidents. If you are unsure what differentiates free speech and professional behavior from discrimination, bias, and harassment we are happy to have an open, judgement-free, and confidential conversation with you, or refer you to the OEO.

U of U Office of Inclusivity (Links to an external site.)
Center for Ethnic Student Affairs  (Links to an external site.)
LGBT Resource Center (Links to an external site.)
American Indian Resource Center (Links to an external site.)
Office of Equal Opportunity, Affirmative Action, and Title IX  (Links to an external site.)
Center for Student Wellness

Students with disabilities The University of Utah seeks to provide equal access to its programs, services and activities for people with disabilities. If you will need accommodations in the class, reasonable prior notice needs to be given to the Center for Disability and Access ( CDA will work with you and the instructor to make arrangements for accommodations. Accommodations cannot be given without paperwork from this office.

Addressing sexual misconduct Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status or genetic information. If you or someone you know has been harassed or assaulted, you are encouraged to report it to the Title IX Coordinator in the Office of Equal Opportunity and Affirmative Action, 135 Park Building, 801-581-8365, or the Office of the Dean of Students, 270 Union Building, 801-581-7066. For support and confidential consultation, contact the Center for Student Wellness, 426 SSB, 801-581-7776. To report to the police, contact the Department of Public Safety, 801-585-2677(COPS).

Student names & personal pronouns Class rosters are provided to the instructor with the student’s legal name as well as “Preferred first name” (if previously entered by you in the Student Profile section of your CIS account). Please advise the instructor of any name or pronoun changes (and update CIS) so we can help create a learning environment in which you feel respected. If you need assistance getting your preferred name on your UID card, please visit the LGBT Resource Center Room 409 in the Olpin Union Building, or email to schedule a time to drop by. The LGBT Resource Center hours are M-F 8am-5pm, and 8am-6pm on Tuesdays.

Student wellness Personal concerns such as stress, anxiety, relationship difficulties, depression, cross-cultural differences, etc., can interfere with a student’s ability to succeed and thrive at the University of Utah. For helpful resources contact the Center for Student Wellness at or 801-581-7776.

Veterans center If you are a student veteran, the U of Utah has a Veterans Support Center located in Room 161 in the Olpin Union Building. Hours: M-F 8-5pm. Please visit their website for more information about what support they offer, a list of ongoing events and links to outside resources: Please also let me know if you need any additional support in this class for any reason.

Learners of English as an additional/second language If you are an English language learner, please be aware of several resources on campus that will support you with your language and writing development. These resources include: the Writing Center (; the Writing Program (; the English Language Institute ( Please let the instructor know if there is any additional support you would like to discuss for this class.


The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit

NOTE: This syllabus is meant to serve as an outline and guide for our course. Please note that the instructor may modify it with reasonable notice to you. The instructor may also modify the course schedule to accommodate the needs of our class. Any changes will be announced in class and posted on Canvas under Announcements.

Course Summary:

Date Details