Computer Science with Applications 1¶
Class webpage: http://bit.ly/cmsc12100-aut-19
This course is the first in a three-quarter sequence that teaches computational thinking and skills to students in the sciences, mathematics, economics, etc. The course will cover abstraction and decomposition, simple modeling, basic algorithms, and programming in Python. Applications from a wide variety of fields serve both as examples in lectures and as the basis for programming assignments. In recent offerings, students have written programs to simulate a model of housing segregation, determine the number of machines needed at a polling place, and analyze tweets from presidential debates.
Placement into MATH 15100 or completion of MATH 13100, or instructor’s consent, is a prerequisite for taking this course.
Course Staff¶
Instructors
Teaching Assistants
- Hazim Avdal
- Firat Çiftçi
- Noah McLean
- Ethan Mertz
- Madison Stamos
- Dawson Whitehead
Lecture times and locations¶
Lecture Section #1 | MWF 9:30am-10:20am | Rosenwald Hall 015 | Wachs |
Lecture Section #2 | MWF 11:30am-12:20pm | Ryerson 251 | Sotomayor |
Lecture Section #3 | MWF 1:30pm-2:20pm | Stuart Hall 104 | Jonas |
Lecture Section #4 | MWF 9:30am-10:20am | Stuart Hall 104 | Black |
Lecture Section #5 | MWF 1:30pm-2:20pm | Kent 101 | Black |
Discussion times and locations¶
Note: There are no discussion sessions on the first week of the quarter.
Monday 4:00-5:20pm | Discussion #1 | Cobb 110 | Fırat Çiftçi |
Monday 4:00-5:20pm | Discussion #2 | Kersten 101 | Dawson Whitehead |
Monday 5:30-6:50pm | Discussion #3 | Cobb 116 | Madison Stamos |
Monday 5:30-6:50pm | Discussion #4 | Cobb 119 | Hazim Avdal |
Tuesday 2:30-3:50pm | Discussion #5 | Kersten 105 | Fırat Çiftçi |
Tuesday 2:30-3:50pm | Discussion #6 | Ryerson 255 | Noah McLean |
Tuesday 4:00-5:20pm | Discussion #7 | Ryerson 255 | Noah McLean |
Tuesday 4:00-5:20pm | Discussion #8 | Cobb 116 | Dawson Whitehead |
Monday 5:30-6:50pm | Discussion #9 | Cobb 112 | Ethan Mertz |
Course Structure¶
The class meets three times a week for lectures, and once a week for a discussion session. Graded work includes programming assignments and exams. Additionally, we provide ungraded labs and practice problems throughout the quarter.
Please see the calendar for more details on what is covered in each lecture.
Programming assignments¶
We will be assigning seven programming assignments. You will be allowed to work in pairs in some of these assignments. See the calendar for details.
In general, programming assignments are released on Saturday/Sunday, and are due on the following Friday. The Monday/Tuesday discussion sessions are used to provide additional support for these programming assignments.
Please see the Programming Assignment Rubric page for more details on how the programming assignments will be graded.
Exams¶
We will be giving evening exams on Week 5 and on Finals Week:
- Exam #1: Monday, October 28th, 7:30pm-9:30pm
- Exam #2: Monday, December 9th, 7pm-9pm
Labs¶
The class does not have lab sessions, but we will provide you with lab assignments that you can do on your own time (either on your computer or in a computer lab). These lab assignments are not graded and do not have to be handed in, but we strongly encourage you to work through them, as they supplement what is covered in the lectures, and provide a good hands-on introduction to the concepts needed in that week’s programming assignment.
Practice problems¶
We will periodically make a set of short problems available to you to test your knowledge of the material we are covering in class. Some of these problems will require you to evaluate a piece of code by hand (we refer to these as “be a computer” problems). Others will require you to write code. We will be using a system named Kattis to help you test your solutions to the latter type of problems.
You will not submit these problems and they will not be graded. They will, however, help test your knowledge of the material needed to do the programming assignments and will be good practice for exams.
Grading¶
Your final grade will be based on the following:
Programming assignments | 60% |
Exam 1 (Week 5) | 20% |
Exam 2 (Finals Week) | 20% |
Grades are not curved in this class or, at least, not in the traditional sense. We use a standard set of grade boundaries:
- 95-100: A
- 90-95: A-
- 85-90: B+
- 80-85: B
- 75-80: B-
- 70-75: C+
- <70: Dealt on a case-by-case basis
We curve only to the extent we might lower the boundaries for one or more letter grades, depending on the distribution of the raw scores. We will not raise the boundaries in response to the distribution.
So, for example, if you have a total score of 82 in the course, you are guaranteed to get, at least, a B (but may potentially get a higher grade if the boundary for a B+ is lowered).
If you want to take the course pass/fail, a “pass” requires a 60 in the course and the average score of both exams must be at least 50 (i.e., if you get a 35 on the first exam, you will need to get at least a 65 on the second exam to pass, assuming your overall score on the class is at least 60) Students who accrue more than 60 points, but have an average on the exams that is less than 50, will be dealt with on a case-by-case basis.
Instructions on how to request to take the class pass/fail will be sent closer to the end of the quarter. Please do not send your instructor such requests until we have posted instructions on how to do so.
Requests to withdraw must be sent to your College advisor, not to your instructor.
Late submissions¶
All students may use up to three 24-hour extensions for the programming assignments during the quarter. These extensions are all-or-nothing: you cannot use a portion of an extension and have the rest “carry over” to another extension.
Note
Ordinarily, we only give two extensions but, due to the quarter starting on a Wednesday this year, we have added an extra extension. We encourage you to use it on the first programming assignment, if you feel you are pressed for time in that assignment.
If extraordinary circumstances (illness, family emergency, etc.) prevent a student from meeting a deadline, we may grant additional extensions on a case-by-case basis. Whenever possible, the student must inform their instructor of these extraordinary circumstances before the deadline.
Please note that having a heavy workload in a given week does not qualify as an extraordinary circumstance. The purpose of the three extensions is precisely to give you some flexibility in weeks when you are busier than usual.
Regrades¶
We sometimes make mistakes, and are happy to review any grading decision that you feel is unfair or unjustified. However, it is also your responsibility to make these requests in a timely manner. Requests for regrades must be submitted no later than one week after a graded piece of work is returned to you. After that time, we will not consider any requests for regrades, regardless of whether the regrade request is reasonable and justified.
Books¶
We will be using a draft of a book that Anne Rogers and Borja Sotomayor are writing for this course.
The book is available in both HTML and PDF format. Note that you will be asked for your CNetID and password to gain access to these files.
Policy on academic honesty¶
We take academic honesty very seriously in this class. Please make sure to read our Academic Honesty page.
Diversity statement¶
The University of Chicago is committed to diversity and rigorous inquiry that arises from multiple perspectives. We concur with that commitment and also believe that we have the highest quality interactions and can creatively solve more problems when we recognize and share our diversity. We thus expect to maintain a productive learning environment based upon open communication, mutual respect, and non-discrimination. We view the diversity that students bring to this class as a resource, strength and benefit. It is our intent to present materials and activities that are respectful of diversity: gender, sexuality, disability, socioeconomic status, ethnicity, race, religious background, and immigration status. Any suggestions as to how to further such a positive and open environment in the class will be appreciated and given serious consideration.
If you have a preferred name different from what appears on the class roster, or preferred gender pronouns you would like us to use, please let us know.
Disability statement¶
If there are circumstances that make our learning environment and activities difficult, please let us know. We will maintain the confidentiality of any such discussions. If you need accommodations due to a disability you will also need to contact Student Disability Services at 773-702-6000, or disabilities@uchicago.edu