Online and in-person sections

There are two sections of CS 357:

  • Section N: In-person, TR 12:30pm - 1:45pm CT, CIF 0035

  • Section M: Online, TR 12:30pm - 1:45pm CT (no assigned classroom)

ALL students will have to complete the SAME assessments via PrairieLearn: homework, quizzes, group activities, machine problems. CS 357 is a flipped course, thus all course content will be delivered via pre-recorded videos. There will be no difference regarding course material or evaluation between these sections.

The only difference between these sections is the scheduling and location of the weekly group activities:

  • Section N: students will complete all group assessments in the classroom, during lecture time on Tuesdays. Classroom attendance is required. In case students cannot complete the task during class time, they will be able to make submissions outside of the class until 10pm.

  • Section M: students will complete all group assessments on Tuesdays anytime between 12:30pm to 10pm, however they will be highly encouraged to complete the group assessments during class time (12:30pm to 1:45pm). Student groups will select the location to meet: they can complete the assessments remotely via Zoom, or they can select their favorite location to meet in-person. Since section M runs completely asynchronous, students in this section do not have any attendance requirement.

You must read the Group Activities page to get additional information.

For the first 2 classes (week 1), all students will be expected to join class synchronously, whether in person (CIF 35) or online (Zoom).

Grading Policies

Grade Breakdown

Your grade is composed by the following assessments, all delivered via PrairieLearn.

Assessment Contribution Info
Final exam 15% Delivered via PrairieLearn at the CBTF (asynchronously with self-registration).
Bi-weekly quizzes 35% Delivered via PrairieLearn at the CBTF (asynchronously with self-registration). Read more here.
Homework 25% Submitted twice weekly via PrairieLearn.
MP 10% Submitted 5 times during the semester via PrairieLearn.
Group Activity 8% Weekly group work to be completed on Tuesdays (read more here).
Attendance/Participation 3% Attendance requirement for students in the in-person section and participation requirement for students in the online section (read more here).
Pre-Lecture Activity 4% Pre-recorded videos available via PrairieLearn on Tuesdays and Thursdays with corresponding short questions

Grading Scale

All your grade components will be added up with the percentage weights indicated and result in a single number. This number will determine your letter grade, according to the following scales:

Grade Point Range
A [93, 100)
A- [90, 93)
B+ [87, 90)
B [83, 87)
B- [80, 83)
C+ [77, 80)
C [73, 77)
C- [70, 73)
D+ [67, 70)
D [63, 67)
D- [60, 63)
F < 60

You should be able to calculate your own grade based on the information above. We reserve the right to lower these thresholds but we will never raise them. We will never round grades.

The top 5% students will receive an A+ (assuming that they all have 97 points or above, otherwise, all students with total points above 97 will receive an A+).

General Rules

Any questions, concerns, or misgivings regarding a specific grade must be raised within one week of the due date or the date the grade is released. After one week has passed, the assigned grade is considered accepted and no further complaints will be considered.

Late Adds

All course material is accessible to all students, independent of registration status. Students who plan to add the class late are expected to keep up with the content. No special accommodations will be provided for students who add the course late.

Programming Languages

We will be using Python with the libraries numpy, scipy and matplotlib for in-class work and assignments. No other languages are permitted. Python has a very gentle learning curve, so you should feel at home even if you’ve never done any work in Python.

Which Python should you use?

For the homework assignments and quizzes, the coding can be done directly on PrairieLearn. Class demos will use Python 3 in a Jupyter notebook.

You don’t need to install Python on your own device, since we will be providing a Jupyter notebook from inside PrairieLearn, so you can complete all your assignments. However, if you wish to install Python and the Numpy+Scipy+Matplotlib stack, you are free to do so in any way that works. We recommend using Anaconda, which is a (free) Python distribution that includes Numpy+Scipy+Matplotlib. In addition, you should use Python 3.

The course staff has created a short Python tutorial that is available as a PrairieLearn assessment, for students that have not worked with Python before, or need some brushing up.

Pre-Lecture Activities

You will complete two weekly pre-lecture assignments, corresponding to the Tuesdays and Thursdays lectures, which will appear in PrairieLearn with the label L#. You can find all the topics listed on the Schedule page.

Each assignment will consist of short to medium size videos, and short questions corresponding to the video content. These are short activities that should be completed on the day they are open (Tuesdays and Thursdays), but they can be completed for 100% credit by the following Tuesday at 12pm CT. This schedule will ensure students complete watching the relevant material for the group activity on Tuesdays.

If you don’t complete the pre-lecture activities before the Tuesday deadline, you have two other late deadlines for reduced credit:

  • 80% credit if you complete the pre-lecture before the Tuesday of the quiz week that covers that topic;
  • 50% credit if you complete the pre-lecture before the last day of classes.

You can find all the due dates directly in PrairieLearn. You are strongly encouraged to complete all your pre-lectures by the 100% deadline, to ensure you are ready to participate in the Tuesday group activities.

The 4 lowest scores will be dropped. The remaining assignments combined will count towards 4% of your final grade.

The first two lectures will be offered synchronously in hybrid format. Attendance is required, both in-person from CIF and online via Zoom.

Tuesdays and Thursday class time

Tuesdays: Group Activities

Students will be placed in groups of 2-3, and they will work together to complete an assignment delivered via PrairieLearn with the label GA#. Groups will be only formed starting from week 3, and students will have the opportunity to create their own groups during the first two weeks. Make sure to not miss the first two weeks of classes, so you can meet students during class before selecting your teams!

Students in section N (in-person) will complete this activity on Tuesdays in the classroom during lecture time, and attendance is required.

Students in section M (online) will complete this activity remotely, at a time and location o their choice. We will provide support during classtime in Siebel 2406 or via Zoom. Participation is required.

You can find more information about the group activities and attendance/participation requirements in the Group Activities page.

The lowest score will be dropped. The remaining assignments combined will count towards 8% of your final grade. Attendance/Participation will count towards 3% of the final grade.

Thursdays: Optional Study Hour

We cancel classes during quiz weeks (see Schedule page), since you will be taking your quiz at CBTF at a time of your choice.

On the other weeks (without quizzes), we will use the lecture time as Optional Study Hours. Note that we will not be covering new content during these classes (new content is only introduced during the asynchronous online recorded pre-lectures). We will be using IPython (Jupyter) notebooks to implement the numerical methods covered in the pre-lecture videos. The notebooks are available in PrairieLearn (labeled with D#), so that students can learn from them at their own time. We will also go over review questions for the quiz. Attendance is not required.

Students from both sections are welcome to join at CIF 0035. Since the study hours are optional, we always have enough space to accommodate all students who want to participate!


The homework sets will be assigned via PrairieLearn with the label HW#. The due dates are indicated both in PrairieLearn and also in the Schedule page (the schedule may be subjected to changes during the semester). Each homework is due at 11:59pm CT on the due date. Note that office hours will only go until 8pm, and course staff will not be actively responding messages on CampusWire after 8pm. If you want to make sure you get assistance with your homework, you must not plan to complete it within the few hours before the deadline.

You will have at least one week to complete your homework for 100% credit. In addition, you will have two late deadlines for reduced credit:

  • 96% credit if you complete the HW before the Tuesday of the quiz week that covers that HW topic;
  • 50% credit if you complete the HW before the last day of classes.

You can find all the due dates directly in PrairieLearn. You are strongly encouraged to complete all your HWs by the 100% deadline.

The 2 lowest scores will be dropped. The remaining HWs combined will count towards 25% of your final grade.

Machine Problems

There will be a total of 5 MPs assigned via PrairieLearn with the label MP#. These are longer programming assignments. The due dates are indicated in the Schedule page (the schedule may be subjected to changes during the semester). Each MP is due at 11:59pm CT on the due date. Note that office hours will only go until 8pm, and course staff will not be actively responding messages on CampusWire after 8pm. If you want to make sure you get assistance with your MP, you must not plan to complete it within the few hours before the deadline.

You will have at least one week to complete your MPs for 100% credit. In addition, you will have two late deadlines for reduced credit:

  • 96% credit if you complete the MP before the Friday of the quiz week that covers that HW topic;
  • 50% credit if you complete the HW before the last day of classes.

You can find all the due dates directly in PrairieLearn. You are strongly encouraged to complete all your MPs by the 100% deadline.

There will be a total of 5 individual MPs, combined they will count towards 10% of your final grade. There is no drop of MP scores.

Quizzes & Final Exam


Throughout the semester, you will take 6 quizzes (50-minute) that will have a mixture of short questions and short coding questions (similar to the questions that appear in your HW, L, GA and practice assessments).

Quizzes will count towards 35% of your final grade and the lowest score will be dropped.

Students from both sections will take quizzes at CBTF from Monday to Wednesday during a quiz week. Students must self-schedule via PrairieTest.

The Quizzes pages show the week designated for each quiz. Make sure to read the CBTF policies here.

You will have a Practice Quiz opening the week prior to each quiz. Your actual quiz will be generated using the same question pool used to generate the practice quizzes, with the exception of the coding questions. The practice quizzes will become unavailable on Fridays of the quiz week.

Students that have DRES accommodations will need to provide their letter of accommodation to CBTF by the end of week 2. You can find more information at the CBTF website.

Check the Quizzes page for more information.

Honor Code

These quizzes will follow the CS honors code and UIUC Academic Integrity policies. You will be expected to comply with the Student Code, and the rules of CBTF.

In addition, you must not communicate with anyone about quiz content during the quiz period, from Monday to Wednesday. No questions should be posted on CampusWire, or any other digital space, discussing quiz content.

Quiz review

When you finish your quiz, you will see the correct answers and your score on the quiz. You will not have access to the quiz once your assigned quiz period is finished. If you want to talk about the quiz with the instructor or TA, you must wait until the quiz period is over, and then you can ask questions on CampusWire, or office hours.

Final Exam

The final exam schedule and location will be announced later in the semester.

How should I use the course resources?

I often get this question from students: “How can I study for this course?” I will give here my recommendation, based on observations, my own experience as student, and feedback received over the years. Of course, every student is different, and the recommendations below may not apply to you.

1) Watch the pre-recorded videos and complete the short questions (PrairieLearn pre-lecture activities). Some students prefer to read instead of watching videos. If that is your case, you can take a look at the pre-lecture slides and/or notes from the Resources page.

2) Start the homework AFTER you go over the course content and have a good understanding of the material. Use the homework to test your knowledge. Go back and review the concepts when you get questions marked as incorrect. I know it can be tempting to just keep trying until you get the question marked as correct (the so desirable PrairieLearn green badge!), but you will be missing the opportunity to actually learn from your mistakes.

3) Watch the pre-recorded videos before the corresponding group activities. You will have more productive and interesting conversations with your team mates if you know the content.

4) When preparing for the quizzes, take a look at the review questions from the Resources page. They may help you figuring out what you know and what you still need to learn. Go back to the videos, slides and/or notes from concepts that you have not mastered yet.

5) You will have access to the Practice Quiz the week before the Quiz. Don’t start creating your Practice Quizzes until you completed the steps above. This is a great opportunity to really see how well you have learned the material before you take your actual quiz.


Quizzes and Final Exam:

You must not discuss any aspect of the quizzes and final exam until all students complete the assessment.

Homework and MP:

You can discuss your approach with your peers. All parts of each homework set or machine problem must be your own work. You must have typed/written every part of your homework yourself. It is okay to copy code/pieces of work provided by the instructor and available on the course website (however, to keep good practice, you must acknowledge the source).

Group Activities:

Here is your opportunity to learn, teach and interact with your peers! Exchange ideas, get creative, and make sure you carry your share of the work load.

Academic Integrity

Students that violate any of the course policies will face penalties as provided by campus rules regarding academic honesty.

Academic integrity infractions, harassment, and discrimination of any kind will not be tolerated. See the University’s Student Code, Article 1, Part 4. Please see the Students’ Quick Reference Guide to Academic Integrity for more details.

Please see the departmental Honor Code for details on integrity and procedures.

Absences and Missed Assessments

We have created a very flexible assessment schedule, with late deadlines and drops. As such, we will not give extensions to HWs, MPs and pre-lectures.

Students can submit a request for excused absence (equivalent to a score getting dropped) if they are not able to attend the GAs or CBTF quizzes under the following circumstances:

A.  Illness

B.  Personal crisis (e.g. car accident, required court appearance, death of a close relative).

C.  Required attendance at an official UIUC activity (e.g. varsity athletics, band concert).

In all cases, you must fill out the excused absence request form and upload the appropriate documentation.

In cases (A) or (B) an official excuse letter from the (Dean on Duty) must be uploaded with the form within 2 weeks of the due date of the missed assessment, no later than reading day. In cases of extended or unusual illness, late submission of excuse documentation will be considered.

In case (C) an official letter from the designated university official must be uploaded at least one week prior to the due date of the missed assessment.

All approved excused assessments will be dropped from the final grade calculation.



To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 333-4603, e-mail or go to the DRES website.

If you have accommodations identified by the Division of Rehabilitation-Education Services (DRES), please submit your DRES letter here. If you have accommodations for quizzes (e.g extended time), you MUST contact CBTF directly.

Mental Health

Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings at no additional cost. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do – for yourself and for those who care about you.

Counseling Center: 217-333-3704, 610 East John Street Champaign, IL 61820

McKinley Health Center:217-333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801

Religious Observances

Illinois law requires the University to reasonably accommodate its students’ religious beliefs, observances, and practices in regard to admissions, class attendance, and the scheduling of examinations and work requirements. You should examine this syllabus at the beginning of the semester for potential conflicts between course deadlines and any of your religious observances. If a conflict exists, you should notify your instructor of the conflict and follow the procedure at to request appropriate accommodations. This should be done in the first two weeks of classes.

Statement on Racism and Inclusion

The intent is to raise student and instructor awareness of the ongoing threat of bias and racism and of the need to take personal responsibility in creating an inclusive learning environment.

The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College 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.

The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. 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 if you feel comfortable. You can also report these behaviors to the Campus Belonging Team.

Sexual Misconduct Reporting Obligation

The University of Illinois is committed to combating sexual misconduct. Faculty and staff members are required to report any instances of sexual misconduct to the University’s Title IX Office. In turn, an individual with the Title IX Office will provide information about rights and options, including accommodations, support services, the campus disciplinary process, and law enforcement options.

A list of the designated University employees who, as counselors, confidential advisors, and medical professionals, do not have this reporting responsibility and can maintain confidentiality, can be found here.

Other information about resources and reporting is available here.

CS CARES, CS Values and Code of Conduct

All members of the Illinois Computer Science department - faculty, staff, and students - are expected to adhere to the CS Values and Code of Conduct. The CS CARES Committee is available to serve as a resource to help people who are concerned about or experience a potential violation of the Code. If you experience such issues, please contact the CS CARES Committee. The instructor of this course are also available for issues related to this class.

Family Educational Rights and Privacy Act (FERPA)

Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. See for more information on FERPA.