Course Syllabus
Critical Information
Instructor: Professor Fengjiao Wang
Email: fengjiao.wang@utah.edu
Course Staff Contact through Piazza
Class Meetings
Mondays and Wednesdays 12:55-1:45pm in WEB L104. Students should come to class prepared and expect to practice solving problems individually and in small groups. See the course format for more information.
Lab Sessions
Friday lab sessions in WEB L124. Lab attendance at your registered lab session is required and has graded work.
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
Important Dates
All tests are in-person and cannot be missed except for documented emergencies. You should plan around the exam schedule accordingly.
- Test 1 is on Wednesday, February 7, 2024, during the class meeting.
- Coding Midterm is on Friday, March 15, 2024, during the lab session.
- Test 2 is on Wednesday, April 3, 2024, during the class meeting.
- Final Exam is on Tuesday, April 30, 2024, from 1:00 – 3:00 pm. (date and location are Tentative)
Final Course Grade
Your final course grade is based on your point score that you earn by completing assessments in the course. See below for detailed information about student evaluation for this course.
Communication
This class will use Piazza for most communication-- emailing the course staff is discouraged, as those are difficult to track with such a large class. Please refer to the communication section below for more information, and the Contacting Course Staff page under the Course Resources module.Course Information
Course COMP1010: Programming for All 1
Credits 3
Pre-reqs None
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
Fair warning
The pacing in this class is brisk. Students should spend a considerable amount of time reading, studying, and solving problems outside of class. Please refer to the How to Succeed In This Course page for more information on what to expect from this class.
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 COMP1010 is in Python. Python is available for your use on the lab machines. Instructions for installing both on your personal computer is available on the class website in the Class Resources module.
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
Grading
Grades in this course will be determined by:
- 30% Programming Assignments & Final Project
- 30% Programming Concepts (10% Labs, 10% Reading assignments, 10% Participation and Quizzes)
- 40% Exams (10% Test 1, 5% Coding Midterm, 10% Test 2, 15% Final)
Programming Assignments & Final Project
There are six 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.
There are two additional programming assignments that together make up the final project for the course. The final project will tackle a real-world task using programming. The two programming assignments build on each other and utilize most of the concepts you have learned in this class over the semester. The instructions for each assignment and its due date will be posted on the class website roughly one week before it must be submitted.
Late Assignments. There is a one-day grace period for late programming assignments (including the final project). Assignments turned in after the due date will receive a 10% 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!
Programming Concepts
Labs
Students in labs generally work through online quizzes with the aid of the lab TAs. Labs will focus on additional material that is helpful for completing assignments. Additionally, labs are very beneficial for reviewing material covered in class -- attendance is expected.
Reading Assignments
This course will have assigned reading and exercises from the Runestone e-textbook. You will need to register on that site, enroll in this course, and do readings and exercises as given. For more information, please refer to the page on using the course e-textbook under Course Resources.
The assigned exercise must be completed before class on Wednesday to count, and you must be logged in to the correct e-textbook with your account that uses your UID as the account name.
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. The lectures will have active participation exercises that allow you to engage with the content at a higher level of learning, that you will participate 'Poll Everywhere' for credit.
It is recommended that you create a 'Poll Everywhere' account using your UID (e.g., UID@utah.edu). This will aid us in making sure to give you credit for your participation in class.
Quizzes
Quizzes will be available on Canvas on the material covered in the topics. These quizzes are designed to be an assessment tool for yourself so that you know whether or not you have the expected understanding of the material. You will have two chances to take the quiz, and will be able to see which questions you missed.
Exams
Tests and Final Exam
There will be two in-class tests and a final exam.
- Test 1 is on Wednesday, February 7, 2024, during the class meeting.
- Test 2 is on Wednesday, April 3, 2024, during the class meeting.
- Final Exam is on Tuesday, April 30, 2024, from 1:00 – 3:00 pm (Time and location are tentative).
These exams will be paper-based and in-person. The final exam is mandatory for all students and cannot be missed except for a documented medical emergency.
Coding Midterm
The lab period on Friday, March 15, 2024, will be devoted to the practical coding midterm -- you will be given a series of programming problems that will be solved during the lab period for a score. This does not count as a droppable lab score.
The three categories (Programming Assignments, Programming Concepts and Exams) are meant to assess achievement of the learning outcomes for the course. Programming-intensive Tasks gauge your capability of working with larger programs and adding your code to solve real-world tasks. Programming Concepts evaluate your level of understanding of the core concepts that are used in programming. Exams are meant to serve as comprehensive evaluation to test your expertise with the content learned in the class.
Your weighted, cumulative course percentage score out of 100 is turned into letter grades using the following scheme:
87-89 B+ | 77-79 C+ | 67-69 D+ | ||
94-100 A | 84-86 B | 74-76 C | 64-66 D | 0-59 E |
90-93 A- | 80-83 B- | 70-73 C- | 60-63 D- |
I do, however, reserve the right to adjust this scale if need be.
Regrades
Students desiring to appeal a score on an assignment, lab exercise, quiz, test, or final exam must do so via Gradescope and no later than one week after the score is published. We reserve the right to regrade the entire assignment when a regrade request is made.
Getting Help
Instructor office hours See the Help Hours page in the Course Resources module.
Teaching assistants and help 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 Help hours are held on Zoom and in person in the CADE lab.
Communication For questions outside of class and help 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 Professor Wang at fengjiao.wang@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 (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.
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
https://www.coe.utah.edu/students/academic-affairs/academics/semester-guidelines/
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 everyone in the class (including the teaching staff) in a respectful manner.
The following resources are available to students for more information:
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 |
---|---|---|