Back to Course Info

Syllabus

Course Instructors

Brad Solomon Teaching Assistant Professor, Department of Computer Science

Office: 2336 Siebel Center for Computer Science

Email: bradsol@illinois.edu

Office Hours

Link to Office Hours Schedule

Course Description

This course is an introduction to elementary concepts in algorithms and classical data structures, focusing on their role in Data Science. Students will learn a variety of ways to store, search, and analyze collections of data and discuss the advantages and disadvantages associated with each method. There is a heavy emphasis on coding in this course – programming assignments will include short lab assessments, larger machine-problem assignments, as well as an open-ended final project all designed to give first-hand experience building data structures. On the theoretical side, the focus will be on justifying design decisions in a program such as why you might prefer a data structure over another for a specific class of problems or data type. The goal of this class is to build a strong foundation of tools for future data science work with a focus on making intelligent design decisions for particularly datasets.

Prerequisites

Textbooks

There are no required textbooks for this course. Listed below are some optional textbooks which may supplement this course in some way. No readings will be required.

Communication

Campuswire

The most important forum for communicating in this class is the course’s Campuswire site. Campuswire is like a newsgroup or forum — you are encouraged to use it to ask questions, request clarifications, express opinions, give advice. We will give you enrollment instructions at the first day of class as well as the first lab meeting (it’s not hard). The Campuswire site for this class is: Campuswire.

We expect that you will be courteous and post only material that is somehow related to CS 277 (however slightly). The forum will be lightly moderated.

Campuswire will be a great place to post most questions regarding assignments - both the course staff and other students are allowed to answer your questions. Please try to avoid asking questions that have already been asked and answered. Also, do not post code!!! We encourage you to post your questions on Campuswire first and likewise encourage you to post them as public questions as it is very likely that many students probably have similar questions.

Grading

All grades will be posted on Moodle and will be updated regularly throughout the semester.

Point breakdown

Category Contribution Notes
Programming Assignments 300 points 60 points each
Laboratory Assignments 180 points 15 points each
Exams 300 points 100 points each
Final Project 220 points  

Usual cutoffs

Points Minimum Grade
[900, 1000] A-
[800, 900) B-
[700, 800) C-
[600, 700) D
[0, 600) F

We might lower these cutoffs; for example, perhaps 670 points will turn out to be enough for a C-; however, we won’t raise them.

We do not assign letter grades for individual scores. We also do not ever curve individual exam or assignment scores. If an exam or assignment should turn out to be significantly harder than we meant it to be, we would announce a lowering of the expected cutoffs above for the various letter grades, in effect lowering the percentage needed for a grade and curving the grades.

Assignments and Assignment Policies

Machine Problems

There will be 6 machine problems (MPs) in the course. They will serve many purposes:

You are given approximately two weeks for each MP. Exact MP due dates will be announced in lecture and on the MP specification page.

Lab Meetings

There will be approximately 12 lab sections during the semester, each of which consists of a small intro and a lab exercise. See the top of this page for meeting times and locations. Lively discussion and collaboration with course staff and fellow students during the labs should usually (but not always) result in significant progress toward finishing the exercise.

The purpose of labs is to help improve your programming abilities and reinforce concepts taught in lecture. Exact lab formats may change week-to-week, but a usual lab will consist of about 10 minutes of discussion over the material covered in lecture and about 50 minutes of collaborative coding.

Extensions and Late Policies

To accommodate the complexity and stress of your college experience, each student is allowed two 24-hour extensions (‘late days’) on MPs. In order to receive these extensions, you must fill out the following form . Additional extensions can be awarded based on need in extreme or extenuating circumstances.

Please note that you cannot use more than one free extension for any single assignment and that once homework solutions are released, no late submissions will be accepted for any reason. At instructor discretion, students requesting an extension after the solution is posted may be given alternative homework assignments as ‘make-up’ credit.

Commitment to Diversity, Equity, and Inclusion

As the state’s premier public university, the University of Illinois at Urbana-Champaign’s core mission is to serve the interests of the diverse people of the state of Illinois and beyond. The institution thus values inclusion and a pluralistic learning and research environment, one which we respect the varied perspectives and lived experiences of a diverse community and global workforce.

We support diversity of worldviews, histories, and cultural knowledge across a range of social groups including, but not limited to, race, ethnicity, gender identity, sexual orientation, abilities, economic class, age, religion, and their intersections. The Grainger College of Engineering recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

This course and it’s social resources like Campuswire should be safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director or the course staff either directly or anonymously. You can also report these behaviors to the Bias Assessment and Response Team BART. Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.

Students with Disabilities

Disability Resources and Educational Services (DRES), a unit of the College of Applied Health Sciences, serves as the designated office of the University that coordinates campus-wide services for students with disabilities. DRES obtains and files disability documentation, certifies eligibility for services, and coordinates the planning and provision of auxiliary aids as well as the implementation of modifications and adjustments in academic rules, policies and procedures. Professional staff are available at DRES to provide University students with disability-related consultation and to assist them in obtaining both academic and nonacademic supports and services.

Any student with a disability who may need accommodations in this class should obtain an accommodation letter from the Disability Resources and Education Services (DRES) Office. Accommodations should be made known early in the semester and cannot be retroactively applied to assignments due before the time the accommodation was made known. For more details please refer to the university-wide academic accommodations policy.

Exam Policies

See the Exams page.

Academic Integrity

For a more detailed description of our Academic Integrity Policy, please see Academic Integrity. You are responsible for the content there, but as an overview: