Course Syllabus
Course Basics
Course COMP1010: Programming for All 1
Credits 3
Pre-reqs None
Description This course is designed for students who are not intending to be Computer Science majors who desire a practical course for gaining basic computer programming skills. The course will use the Python programming 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. The goal for the end of the course is for students to feel confident in their 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 Monday and Wednesday, 12:55pm - 1:45pm in HEB 2008 Links to an external site.. Students who are quarantining due to COVID-19 can attend lecture remotely on Zoom (see instructions).
Lab sessions Friday lab sessions are in WEB L124, except for section 11, which is in WEB 208. Lab attendance at your registered lab session is required and has graded work. Students with a legitimate reason for missing lab should contact the instructors through Piazza for instructions.
Instructor Prof. Jason Wiese |
Course staff email through Piazza
Textbook This course will use a variety of web resources, including readings and exercises from a free online, interactive textbook from https://runestone.academy/runestone/books/published/fopp/index.html Links to an external site.
Important dates There are two coding exams that take place in your lab section on September 30 and December 2. There is a midterm exam that takes place during lecture on Wednesday October 19. The final exam is from 1:00-3:00 PM on Tuesday, December 13th. 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 or by text message. These audience response questions will be through www.pollev.com/comp1010. Links to an external site. If you do not have a device to use during lectures please contact Prof. Wiese (jason.wiese@utah.edu)
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 other relevant information.
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 COMP1010 is in Python. Python is free to download. Instructions for installing it on your personal computer is available on the class website in the Class Resources module.
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 There is a one-day grace period for late assignments. Assignments turned in after the due date will receive a 20% deduction in the grade. No assignments will be accepted more than 24 hours late, at which point a 0% will be assigned. 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 instructors' consent for late work. Longer term issues should be discussed with the instructors -- we are not trying to fail students!
Lab exercises Students in labs generally work through online quizzes with the aid of the lab TAs. The lowest 2 lab scores will be dropped, which can help you manage unexpected (or expected) problems with attendance. Labs will focus on additional material that is helpful for completing assignments. Additionally, labs are very beneficial for reviewing material covered in lecture -- attendance is expected.
Coding exams There will be two lab periods devoted to practical coding exams -- 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 exams will be held September 30th and December 2nd and can only be missed for a documented medical emergency. The coding exams will be administered online.
Midterm and final exam There will be one mid-term and a final test. The mid-term is during lecture on October 19th. The cumulative final exam is Tuesday, December 13 from 1:00-3:00 PM. These tests cannot be missed except for a documented medical emergency.
Participation Participation is an important component of this course because active engagement facilitates learning. If you choose not to be engaged during lecture and lab, you are harming your own experience with the material. Participation will not be graded explicitly because we find that active participation is associated with success in other graded aspects of the course.
Final course grade: Assignments 45%, Midterm and Final Exam 30%, Coding Exams 15%, Labs 10%
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 instructors.
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, one for a quiz, and two for a lab. These dropped scores are automatically applied. Assignments 7 and 8 cannot be dropped. No test or final exam scores are dropped.
Extra Credit Students who complete all of the assigned readings and problems in the online textbook during the semester will receive a half-grade increase in their final grade (e.g. a B will turn into a B+, a B+ will turn into an A-). The assignment must be completed by the end of the day on Monday to count, and you must be logged in with your account following the directions on the page describing the Course e-Textbook. You can miss up to two weeks and still get this extra credit. Students who miss more than two but less than 5 weeks can still receive for 2% extra credit on their final grade. This is the only extra credit we intend to offer this semester.
Getting Help
Instructor office hours See the Help Hours page in the Course Resources module.
Teaching assistants and consulting hours See the Help Hours page in the Course Resources module. 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 on Zoom and in person in the CADE lab.
Communication For questions outside of class and consulting hours, students are required to use Piazza. 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 or code snippets from your solution. Regardless of communication medium, DO NOT SHARE THESE WITH ANOTHER STUDENT until after assignments have been graded and returned.
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 Piazza. Students are expected to check Piazza regularly. We recommend signing up for email notifications from Piazza as well.
In general, we can often provide quick and detailed responses through Piazza and it is an excellent mechanism for getting feedback. Emails of a more administrative nature (i.e., questions about grades, illness) can be sent directly to the course professor at jason.wiese@utah.edu. See further instructions on the Contacting Course Staff page in the Course Resources module.
Course Guidelines
Behavior during class activities All students are expected to maintain professional behavior, according to www.regulations.utah.edu/academics/guides/students/studentRights.html Links to an external site.(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.
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 strictly 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 Links to an external site..
This course adheres to the School of Computing course guidelines and policieshttps://handbook.cs.utah.edu/current/Academics/policies.php Links to an external site.
College of Engineering guidelines For information on withdrawing from courses, appealing grades, and more, see the College of Engineering guidelines at
https://www.coe.utah.edu/students/current/semester-guidelines/ Links to an external site.
Inclusivity
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 expect 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.
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
Student names & personal pronouns Class rosters are provided to the instructors 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 instructors 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 bpeacock@sa.utah.edu to schedule a time to drop by. The LGBT Resource Center hours are M-F 8am-5pm, and 8am-6pm on Tuesdays.
NOTE: This syllabus is meant to serve as an outline and guide for our course. Please note that the instructors may modify it with reasonable notice to you. The instructors 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 | Due |
---|---|---|
Fri Aug 26, 2022 | Quiz Lab 0 Quiz | due by 11:59pm |
Assignment Lab: Intro to Course Technology | due by 11:59pm | |
Mon Aug 29, 2022 | Page Reading (Do by Monday 8/29) | to do: 11:59pm |
Fri Sep 2, 2022 | Quiz Lab Getting Started with Python Quiz | due by 11:59pm |
Assignment Lab: Getting Started with Python | due by 11:59pm | |
Mon Sep 5, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading-2 | to do: 11:59pm | |
Wed Sep 7, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 1: ASCII Art | due by 11:59pm | |
Fri Sep 9, 2022 | Quiz Lab Modules and Turtles Quiz | due by 11:59pm |
Assignment Lab: Modules and Turtles | due by 11:59pm | |
Mon Sep 12, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading-3 | to do: 11:59pm | |
Wed Sep 14, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 2: Fun with Turtle | due by 11:59pm | |
Thu Sep 15, 2022 |
Quiz
Lab Getting Started with Python Quiz
(1 student)
|
due by 11:59pm |
Fri Sep 16, 2022 | Quiz Lab Strings and Loops Quiz | due by 5:30pm |
Assignment Lab: Strings and Loops | due by 11:59pm | |
Mon Sep 19, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading-4 | to do: 11:59pm | |
Wed Sep 21, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 3: Advanced Loops | due by 11:59pm | |
Fri Sep 23, 2022 | Quiz Lab Working with Images Quiz | due by 5:30pm |
Assignment Lab: Working with Images | due by 5:30pm | |
Quiz
Lab Working with Images Quiz
(1 student)
|
due by 11:59pm | |
Mon Sep 26, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading-5 | to do: 11:59pm | |
Wed Sep 28, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Fri Sep 30, 2022 | Assignment Coding Exam 1 | due by 11:59pm |
Mon Oct 3, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading-6 | to do: 11:59pm | |
Wed Oct 5, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Fri Oct 7, 2022 | Quiz Lab Working with IF statements Quiz | due by 5:30pm |
Assignment Lab: Working with IF statements | due by 5:30pm | |
Quiz
Lab Working with IF statements Quiz
(1 student)
|
due by 11:59pm | |
Quiz Mid-semester Student Feedback | due by 11:59pm | |
Mon Oct 10, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Wed Oct 12, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 4: Image Processing | due by 11:59pm | |
Mon Oct 17, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Wed Oct 19, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Midterm | Wednesday, Oct 19 | due by 1:45pm | |
Fri Oct 21, 2022 | Assignment Lab: Lists and The Debugger | due by 5:30pm |
Quiz Lab: Lists and the Debugger Quiz | due by 5:30pm | |
Mon Oct 24, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading-7 | to do: 11:59pm | |
Wed Oct 26, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 5: Sound Effects | due by 11:59pm | |
Fri Oct 28, 2022 | Quiz Lab Handling Text Files Quiz | due by 5:30pm |
Assignment Lab: Handling Text Files | due by 5:30pm | |
Sat Oct 29, 2022 |
Quiz
Lab: Lists and the Debugger Quiz
(1 student)
|
due by 11:59pm |
Mon Oct 31, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading 8 | to do: 11:59pm | |
Wed Nov 2, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 6: Analyzing a Novel | due by 11:59pm | |
Assignment
Assignment 6: Analyzing a Novel
(1 student)
|
due by 11:59pm | |
Fri Nov 4, 2022 | Assignment Lab: Nested Dictionaries | due by 5:30pm |
Quiz Lab: Nested Dictionaries Quiz | due by 5:30pm | |
Mon Nov 7, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading 9 | to do: 11:59pm | |
Wed Nov 9, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Fri Nov 11, 2022 | Quiz Lab: Error Handling | due by 5:30pm |
Assignment Lab: Error Handling | due by 11:59pm | |
Mon Nov 14, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Page Reading Week 10 | to do: 11:59pm | |
Wed Nov 16, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 7: Working with Data, Part 1 | due by 11:59pm | |
Quiz
Lab: Error Handling
(1 student)
|
due by 11:59pm | |
Mon Nov 21, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Wed Nov 23, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Assignment Assignment 8: Working with Data, Part 2 | due by 11:59pm | |
Mon Nov 28, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Wed Nov 30, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Fri Dec 2, 2022 | Assignment Coding Exam 2 | due by 11:59pm |
Mon Dec 5, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Wed Dec 7, 2022 | Calendar Event COMP 1010-001 Fall 2021 Programming for All 1 Lectures | 12:55pm to 1:55pm |
Tue Dec 13, 2022 | Assignment Final Exam | due by 3pm |
Sun Dec 18, 2022 | Assignment Course feedback screenshot | due by 11:59pm |