Computer Science with Applications 2

Class webpage: http://bit.ly/capp30122-win-20

This course is the second in a three-quarter sequence that teaches computational thinking and skills to students from a wide-variety of fields. Lectures cover topics in (1) data representation, (2) relational databases, (3) data cleaning and presentation, (4) shell scripting, (5) data structures, such as graphs, hash tables, and heaps. Applications and datasets 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 a course search engine and a system to do speaker identification.

Students will program in Python and do a group programming project.

Prerequisite: CAPP 30121

Course Staff

Instructor

  • Diogo Ferrari
  • Lamont Samuels

Teaching Assistants

  • Mint Poonpatanapricha
  • Bogdan Stoica
  • Sinclair Target
  • Sydney Zink

Lecture times and locations

Type Time Location Instructor
Lecture Section #1 MWF 9:30am-10:20am Ryerson 276 Samuels
Lecture Section #2 MWF 1:30pm-2:20am Ryerson 251 Samuels
Lecture Section #3 MWF 9:30am-10:20am Ryerson 277 Ferrari
Lab #1 M 3:30pm-4:50pm CSIL 3 Bogdan
Lab #2 M 3:30pm-4:50pm CSIL 4 Sinclair
Lab #3 M 5:00pm-6:20pm CSIL 3 Bogdan
Lab #4 M 5:00pm-6:20pm CSIL 4 Sydney
Lab #5 M 5:00pm-6:20pm CSIL 5 Mint
Lab #6 M 6:30pm-7:50pm CSIL 4 Sydney

All labs take place in the Computer Science Instructional Laboratory (CSIL) located on the first floor of John Crerar Library (JCL).

Course Structure

The class meets three times a week for lectures, and once a week for a lab session. Graded work includes programming assignments, and end-of-quarter group project. Additionally, we provide practice problems for some topics.

Please see the calendar for more details on what is covered in each lecture.

Programming assignments

We will be assigning five programming assignments. You will be allowed to work in pairs in some of these assignments. See the calendar for details.

Programming assignment deadlines mainly be Fridays; however, some assignments may fall other days. Please see the calendar for details.

The labs are used to provide additional support for these programming assignments.

Labs

We will perdiocally publish labs that will be intended to help you build skills that are needed for the programming assignments (for example, SQL) or that are discussed in class, but not covered by any specific assignment (for example, regular expressions). These labs will not be graded.

The class will have weekly lab sections. The labs will provide an opportunity to get help with programming assignments and labs.

Project

We will be assigning a final group project. We will be holding a poster session for the group projects. We will post on Piazza with the date, time and location soon.

Grading

Your final grade will be based on the following:

Programming assignments 50%
Group Project 50%

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).

Students in the MS-CAPP program must take this course for a quality grade.

Students in other programs may take the course pass/fail. A “pass” requires a 60 in the course and an exam score of least 50.

Instructions for how non-MS-CAPP students can 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 the instructor.

Late submissions

All students may use up to two 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. If extraordinary circumstances (illness, family emergency, etc.) prevent a student from meeting a deadline, the student must inform their instructor before the deadline.

Books

We will be using a draft of a book that Anne Rogers and Borja Sotomayor are writing for part 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.

We will post readings for topics not covered in Rogers and Sotomayor on Piazza.

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.

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