Go to PrairieLearn!!!

CS 233 is offered entirely through PrairieLearn. Go to https://us.prairielearn.com/pl/course_instance/135583

Discord server Join Link: https://discord.gg/3QV73NwEUs

Below is the Syllabus for the course copied from PrairieLearn on 7/31. The Syllabus in PrairieLearn is correct, this may be out of date.

If you are not yet registered for CS 233, go to the bottom of the page for our Late Add FAQ.

Office Hours

Office hours are hybrid: course staff will be in the basement of Siebel Center for Computer Science and on Zoom during the times listed below, unless otherwise noted in the calendar.

For lab office hours, join the office hours queue at Queue@Illinois (if you are joining online, make sure to add a link to your Zoom room in the queue) and we will come to you.

Prof. Herman is available for 1-on-1 meetings by appointment. To schedule an appointment use calendly.com/glherman

Meeting Locations

For at least the first 2 weeks, all students will be expected to join class synchronously, whether in person or online.

Meeting Locations

For at least the first 2 weeks, all students will be expected to join class synchronously, whether in person or online.

AL1/AL2: 0035 CIF
OL1/OL2: Join Zoom (link below)
HL1/HL2: 1043 Sidney Lu Mech Engr Bldg for HL1, HL2.

Join Zoom Meeting https://illinois.zoom.us/j/89323434474?pwd=bUxoU2d4MEdFQm1veUR4aUgvVjQvQT09
Meeting ID: 893 2343 4474
Password: 002157

Weekly Expectations

CS 233 is a 4-credit hour course so we expect students to work about 12 hours on this course per week. Here's what we anticipate for the course workload most weeks.

Course Description

Fundamentals of computer architecture: digital logic design, working up from the logic gate level to understand the function of a simple computer; machine-level programming to understand implementation of high-level languages; performance models of modern computer architectures to enable performance optimization of software; hardware primitives for parallelism and security.


Course Learning Objectives

CS 233 has several goals:

  1. Grasp basic principles of combinational and sequential logic design.
  2. Have a high-level understanding of how to design a general-purpose computer, starting with simple logic gates.
  3. To provide you with a mental model of how high-level language programs get executed on computer hardware
  4. To introduce you to the organization and performance analysis of modern computers,

5.Expose you to the hardware-level mechanisms for exposing parallelism.

The first two goals we will address together as we teach you the principles of logic design through the implementation of a processor capable of executing a subset of the MIPS instruction set architecture (ISA). Along the way we will discuss how computers represent numbers, understand the decode/execute model, the design of finite state machines and more. Specifically we will test the following objectives:

As computers execute programs in machine language, we will address the third goal through an extensive discussion of machine language and its human readable counterpart, assembly language. We will demonstrate how features of modern programming languages (e.g., function calls, recursion, pointers, dynamic memory allocation, etc.) are implemented in assembly language. In addition, topics like compilation, linking, I/O programming, and interrupt programming will be covered. We will specifically test the following objectives:

The fourth goal will be addressed in three ways: 1) We will present an overview of the organization of modern computers (processor, memory, I/O system) demonstrating the key challenges and ideas (e.g., pipelining, caching, indirection, etc.) that influence their design, 2) we will present both theoretical and practical performance analysis techniques and analyze the performance of many parts of modern machines (processors, memory, caches, disks, networks), and 3) we will write code in high-level languages and assembly to optimize program execution. We will specifically test the following objectives:

While the previous goals focus primarily on single-processor systems, the last goal presents hardware mechanisms for implementing parallel processing. Specifically, we will discuss SIMD execution, cache coherence, memory consistency, and hardware synchronization primitives. As part of this discussion, we introduce concepts of race conditions, false sharing, and the need for memory barriers. We will specifically test the following objectives:


Class Meetings

Regular Sections

Class will meet synchronously during scheduled times. For Sections AL1/AL2/OL1/OL2, class meets twice a week: Tuesdays & Thursdays 9am-11:50am.

Students will be assigned to a team of 2-3 students. Your team will complete a collaborative, team-based exercise called Group Assessments (GAs) that will dig deeper into the core concepts introduced via pre-flights. If everyone on your team has completed and understood the pre-flights, we expect that these collaborative exercises will take about 1 hour and should take less than 2 hours.

Students in AL1/AL2 will have required attendance. You are expected to attend all classes in person and work on GAs with your teammates during that time.

Students in OL1/OL2 will have required participation. You are required to join during scheduled class times during the first two weeks (Zoom information below). After those weeks, you are strongly encouraged to work with your team and join us Zoom during class time, but are not required to. You are required to work with your team on assigned Group Assessments (GAs). Participation will be enforced through a few different mechanisms: 1) completing GAs with your assigned team, 2) completing peer reviews of your teammates, 3) having satisfactory peer reviews from your teammates, and 4) participating in group assessments in a variety of roles.

Join Zoom Meeting https://illinois.zoom.us/j/89323434474?pwd=bUxoU2d4MEdFQm1veUR4aUgvVjQvQT09

Meeting ID: 893 2343 4474 Password: 002157

Honor's Sections

Details coming


Optional Textbooks

We will provide readings and videos that we hope will be sufficient for you to learn the course content through PrairieLearn alone.

All textbooks are optional. Copies of the textbook (as well as others) are on reserve at Grainger Library.

Logic and Computer Design Fundamentals, by M. Morris Mano and Charles R. Kime. (Published by Prentice-Hall), 2008. Fourth Edition 2008 ISBN: 0-13-198926-X

Computer Organization & Design: The Hardware/Software Interface, by David A. Patterson and John L. Hennessy. (Published by Morgan Kaufmann) Second Edition: 1998 ISBN: 1-55860-428-6 Third Edition: 2004 ISBN: 1-55860-604-1 Fourth Edition 2008 ISBN-13: 978-0123744937

Verilog HDL: A Guide to Digital Design and Synthesis, by Samir Palnitkar. (Published by Prentice Hall). Second Edition:2003 ISBN: 0-13-044911-3

The first part of this course follows the first book Logic and Computer Design Fundamentals, but much of this material is available in an appendix of Computer Organization & Design: The Hardware/Software Interface.

The Verilog HDL book can be used as a reference. However, the Verilog material covered in this course is very basic. We provide tutorials and guides to help you learn it as you go (or you may use online references as needed).

The second and third part of this course follows the book on Computer Organization & Design: The Hardware/Software Interface very closely, so it is highly recommended, but many students find they donít refer to the book. Any of the second, third, or fourth editions are fine.

Computing Resources

Our goal is that this entire class can be completed through a web browser, connecting just to PrairieLearn and Canvas. If we cannot achieve that goal, we will provide instructions for how to install a virtual machine on your computer that can run the required software.


Discussion Board

We will use either Discord or Campuswire for a discussion board. Haven't decided yet.


Grading

Component Percent Notes
Preflights 7.5% Due 9:00am (CT) day of GAs, based on performance
GAs 5% Due 24hrs after available, based on performance
Attendance/Participation 2.5% Attendance for AL1/AL2 or Participation for OL1/OL2
Labs 20% Part 1 deadlines (Friday 8pm), no late deadline
Part 2 deadlines (Monday 8pm), 48-hour late deadline w/ penalties
Quizzes 50% 4 quizzes - See below for details/weights
Final Exam 15% Comprehensive
Extra Credit 3% (or more) Can be earned from extra credit assessments and other sources like surveys

We use a standards-based grading system with transparency on grades. You should be able to calculate your own grade based on the information we provide.

Letter grades will be assigned based on your overall numeric score. The top and bottom 1% in each range will receive plus and minus grades, except for A+ and grades below C.

We reserve the right to lower these thresholds but we will never raise them. We will never round grades.

To earn an A+, you must earn an A numerically and do something that stands out as exceptional to the course staff. For example, you could do an exceptional job at answering questions on the discussion board or you could do a great job at asking good questions on the discussion board or course staff could notice that you are especially helpful to other classmates during class or during office hours or you could get 1st place in the SPIMbot contest or you could ace all of the quizzes and final exam or anything else that especially enriches the class for other students.

Preflights

Preflight assignments (PRE) in PrairieLearn are due before each class meeting. They will be worth 7.5% of your overall grade. These pre-flights will provide you with links to introductory videos, text, and tutorial problems. These preflights are intended to prepare you to contribute to your in-class GAs. Most questions in the preflight will need to be answered correctly multiple times to receive full credit. Aside from the first few class meetings, preflights must be finished prior to class meetings to receive credit.

Your preflights score will be calculated by adding up all the points that you earned on all preflights and dividing by the total points possible on all preflights. Some preflights are longer than others and are therefore worth more points.

We do not grant extensions on preflights unless arranged in advance with the instructors. We have a generous late policy (80% credit until the last day of class) and lots of extra credit to more than cover the occasional missed deadline.

Group Assessments (GAs)

Learning to work in a team is a required learning objective of this course, a decision made by the department for accreditation purposes. In your professional career, you will almost certainly need to work collaboratively with others, and we need to provide opportunities for you to practice and learn collaborative skills.

For the first 2 weeks, all students will be expected to join class synchronously, whether in person or online.

All students will be assigned to a team of 2-3 students to work on longer, collaborative assessments in PrairieLearn during class meetings called Group Assessments (GAs). Each team will receive one instance of the GA and all team members will share the same grade on that instance of the assessment. GAs will help you dive deeper into the course content and prepare you for the lab assignments. Most questions in GAs will need to be answered only once. It is in your best interest to make sure that all team members agree on the answer and that you check each otherís work before making submissions. Students are expected to start GAs during class meetings. We expect that most students will be able to finish them during class time. You will have 24 hours from the end of the class sessions to get full credit.

Since many students will not know other students in the course yet, we want to give these students a chance to meet others to work with. During the first 2 weeks of class, you will be assigned a random team for your GA. At the end of the 2nd week, you will be given the option to choose your team for following weeks or be assigned a random team. You will be given the option to change your team at about the halfway point of the semester.

Your GAs score will be calculated by adding up all the points that you earned on all GAs and dividing by the total points possible on all GAs. All GAs are worth 100 points.

We do not grant extensions on GAs unless arranged in advance with the instructors. We have a generous late policy (80% credit until the last day of class) and lots of extra credit to more than cover the occasional missed deadline.

Attendance

If you are in AL1/AL2, you will earn 2.5% of your final grade via attendance. If you do not want to be required to attend class in person or during class time, you may switch to the OL1/OL2 section. You may miss class up to 3 times, no questions asked, and still receive full credit. If you need to miss class more than 3 times, contact Prof. Herman to discuss what is going on and you may receive additional excused absences.

If you make the commitment to come to class, we will make the commitment to get to know you personally! Course staff will spend the first few weeks learning names and will take attendance by noting whether you were there.

Course staff will reserve the right to not award attendance points if you are physically present but mentally absent. For example, if you are sleeping through class, you will not get attendance points. If you are that tired, please stay home and get some real rest! If you are always tired, let's talk about how you can manage your time. Likewise, if you are distracted by other things like social media or other class's assignments and course staff have to ask you to stop multiple times, you will not get your attendance points.

Your attendance score will be calculated as min(1, (number of times you attended) / (number of class meetings - 3)) * 2.5.

If you earn less than 75% of the attendance points (i.e., 1.875%), you will not be extra credit eligible. If you choose not to participate, that's your choice, but we won't provide extra opportunities to you.

Participation

You will be required to attend class online during scheduled class times during the first two weeks.

Join Zoom Meeting https://illinois.zoom.us/j/89323434474?pwd=bUxoU2d4MEdFQm1veUR4aUgvVjQvQT09

Meeting ID: 893 2343 4474 Password: 002157

If you are in OL1/OL2, you will be required to work with a team to earn 2.5% of your final grade, though you will not be required to do so during class time. We understand that the in-person environment may not be an inclusive learning environment. For some it's too loud, making it hard to focus. For others, they have work schedules that conflict and they can't control. For others, they just like working in their bed. Whatever your reason, the online sections are here to let you craft the best experience for yourself when working with a group. Your participation score will be calculated as follows

The 2.5% will be multiplied by 4 multipliers to determine a final score.

If you earn less than 75% of the participation points (i.e., 1.875%), you will not be extra credit eligible. If you choose not to participate, that's your choice, but we won't provide extra opportunities to you.

Opting Out of Collaboration

If you absolutely refuse to work in a team, you may notify course staff by the end of the 2nd week of the course. You will not be assigned a team and will forfeit 2.5% of your final grade because you are forgoing a required learning objective. However, because you are being responsible and making the decision in advance rather than screwing over your classmates by just not showing up, we will allow you to still be extra credit eligible. If you choose this option, you can still comfortably earn an A and you can even earn 100% or higher with the extra credit.

Structured Roles

We will be using structured roles in this class to facilitate groupwork. You will be expected to take on these various roles during the course of the semester.

Peer Reviews

Peer reviews are required for OL1/OL2 students only.

Peer reviews will have 5 agree/disagree ratings per teammate. Any rating that is neutral or agree will be counted as satisfactory.

GA FAQ

Q: Why are we doing Group Assessments (GAs)? A: Several reasons. Weíve run the research studies (seriously!) and have found that students learn more, find the class less difficult, and generally enjoy getting to work with other students more than when the class is more individualistic. Additionally, one of the greatest benefits to studying at Illinois is the amazing students. We would hate for students to miss out on the opportunity to work alongside some of the best students in the world.

Q: Why is the class synchronous? A: Again, we've run the reserach studies. When class is synchronous, students spent less time on GAs, scored better, and we had less issues with students freeloading. We think those are all great reasons to keep doing synchronous class.

Q: Can we choose our own group? A: Not to start. Eventually, yes.

Q: Why not? A: A lot of students are adding and dropping CS 233 throughout the first two weeks, making it nearly impossible to form more permanent teams without a lot of headaches for everyone. We will let you form teams or will assign you to teams once the class roster is more stable. Also, many students do not know anyone else in the course. By randomly assigning students to teams at the start of the semester, we are giving these students an opportunity to meet other students and form teams with people they connect with.

Q: How will teams be assigned? A: For the first few weeks (at least 01GA-04GA), teams will be assigned randomly because many students are still adding/dropping the course making it somewhat pointless to create longterm assigned teams. After the first few weeks, there will be an assignment in PrairieLearn where you can form your own team of 3 or indicate which section you intend to attend. If you form your own team, that will be your team for the remainder of the semester. If you do not form your own team, we will assign teams based on your preferred section.

Q: Where do I find GAs?! I donít see them in PrairieLearn!!!! A: GAs will first become visible on the day of class they are connected with. They will appear in the corresponding weekís assessment lineup. For example, 01GA will appear in Week1 on the first day of class.

Q: What happens if I canít attend class on a given day? A: We recommend you 1) contact your group and let them know as soon as you know, 2) if your group is amenable, you can schedule a different time to work on the GA together, and 3) if your group has finished the assessment without you, you can finish the assessment on your own. If you need to miss more than a couple classes for extenuating circumstances (e.g., quarantine, prolonged mental or physical illness, family emergency), please contact the instructor.

Q: What happens if we have an absentee or free-loading team member? A: 2 options: 1) if a teammate is not participating, you can rate them poorly on your peer review and 2) around the halfway point in the semester, we will give you the opportunity to change teams around. If there are particularly negative situations, please do not hesitate to contact the instructor to ask for help!

Labs

There will be 13 regular labs and Lab Spimbot as the final lab assignment. The regular labs will be weighted evenly, Lab Spimbot is worth double.

You can pick your own team for labs (yes, this team can be the same as, or different from your GA team).

Lab Submission Policy

Submission: Code will be submitted through PrairieLearn. Press Save & Grade as directed.

Partners: For most labs, you can work individually or with up to 2 partners. The exceptions are labs declared as individual (will be indicated), and the SPIMbot tournament lab, where you must work in groups of two or three. Once you start a PrairieLearn lab (i.e., press "Start Assessment"), you cannot change your team, so make sure that you are 100% certain who you want to be on your team before starting a lab. We cannot allow students to change teams, because we allow a limited number of submissions to the labs per team. Allowing students to change teams would allow students to circumvent this intentional design of the labs.

Late Submission: No late policy for Part 1 of labs. For Part 2 of lab, the maximum points possible will decrease by 10% every 12 hours, up to a maximum of 48 hours.

Extensions: All students have one no-questions-asked extension for any part of any lab (except Lab Spimbot). This extension must be requested no later than 24 hours after the 100% credit deadline for the portion of the lab for which the extension is being requested. Extensions will provide 100% credit up to 48 hours after the 100% credit deadline. No-questions-asked extensions can be requested through the google form connected through the lab assignments. If one team member of a lab group requests an extension, the extension will be applied to all team members, so double check with your teammates before requesting an extension.

Additional extensions for any other extenuating circumstances (e.g., death in the family, severe illness) will be considered on a case-by-case basis. Additional extension requests should be made with a private post or DM through the discussion board.

Style: Good style is important whenever writing code; We reserve the right to assign a 0 to any assignment that demonstrates total disregard for standard good style conventions.

Lab Regrades

Regrade requests must be submitted within 48 hours of the on-time lab deadline.

Quizzes

We will have 4 required quizzes (each 2 hours). Because 2-hour quizzes and the size of the course are a bit of a burden on the CBTF, we will randomly assign students to take the quiz either in the CBTF or in the classroom during class time. Every student will take 2 quizzes in the CBTF and 2 quizzes in person, unless you discuss any special accommodations with the instructors in advance.

Regardless, quizzes will be administered using PrairieTest. If taking the quiz in person, you will need to bring a laptop to class. If you do not own a laptop, course staff can provide one for you if notified in advance.

Quizzes will be weighted evenly.

Quiz 0 (optional): Spatial Ability (0.1% Extra Credit) Quiz 1: Boolean Functions, Number Representations, Verilog, Modular Design, and State Quiz 2: MIPS datapath and MIPS programming Quiz 3: MIPS programming and Pipelines Quiz 4: Caches

Make-up Quizzes

If you miss a quiz due to illness or other extenuating circumstance and want to make-up that missed quiz, you must contact your instructor within 24 hours of the class period when the rest of the class took that quiz. Make-up quizzes will be offered on a case-by-case basis. We will offer a make-up quiz only if there is sufficient capacity in the CBTF to handle the make-up.

Practice Quizzes

Practice quizzes are provided that exactly mirror the structure and content of the actual quiz. The course content is hard enough, we don't need to hide anything. You can earn up to 1% extra credit toward your final grade in the class by completing practice quizzes before the respective quiz is offered. Your preflight score will be calculated by adding up all the points that you earned on all preflights and dividing by the total points possible on all preflights. All preflights are equally weighted. We will take your highest score on each practice quiz to calculate your extra credit (e.g., if you take three practice quiz 1s, scoring 25, 55, and 95, we will use your 95 to calculate your percentage)

For short-answer questions, you can generally expect that "what you see, is what you will get" in that the same code that randomly generated/chose your practice quiz question will be the same code that randomly generates/chooses your actual quiz question.

For design or coding questions, you can generally expect that you will get a question that has the same basic structure as the practice quiz questions, but will ask you to complete a different version of the task. For example, if a practice question asks you to write code that calculates the average of an array, you can expect a similar actual question that asks you to write code that asks you to examine all values in an array and perform some type of calculation on those values.

Second-chance quizzes

We offer students the opportunity to re-take quizzes during a second-chance quiz if they are not happy with their performance on a quiz. All second-chance quizzes will be administered through the CBTF. Please sign up only for the second-chance of a quiz if you plan to actually take it. If you register to take a second-chance quiz but do not take it, we can give you a 0 for your second-chance attempt.

For each quiz, we offer an optional second chance quiz that provides you the chance to try and improve your score on it. Here's how this works:

Computer-Based Testing Facility Information

If you miss your exam reservation, go to the CBTF and talk to a proctor there to help you reschedule your exam reservation. If you miss multiple exam reservations, you will eventually be blacklisted and no longer be able to reschedule.

If you are sick or cannot take a quiz in person for some other reason at the CBTF during the normal time, contact course staff and the CBTF before the exam window is closed. We will work with the CBTF to make sure you are able to take the quiz in a timely manner.

If you have accommodations identified by the Division of Rehabilitation-Education Services (DRES) for quizzes/exams, please notify the CBTF before the first quiz so that they can provide your accommodation. Please send Prof. Herman your Letter of Accommodation (LOA) and fill out our DRES accommodation form.

Notes on hand grading/regrade requests

Final Exam

Weíll have a comprehensive final to cover the material that follows Quiz 4 and a sampling of the material from the rest of the semester.

Our scheduled final exam time is TBD. Plan on staying on campus through finals week. The final exam will be administered in person. You must take the final exam to pass the course.

Extra Credit

Extra Credit is available only to students who earn at least 75% of attendance/participation points (with the exception of students who opt-out). If you are not willing to help your team and classmates learn, you are not eligible for extra credit.

There will be many sources of extra credit. Sources of extra credit include but are not limited to

Practice quizzes that mirror the actual quizzes will be available for extra credit. We will take your highest score on each practice quiz to calculate your extra credit (e.g., if you take three practice quiz 1s, scoring 25, 55, and 95, we will use your 95 as 1/8th of your practice quiz score). All together, the practice quizzes can contribute up to 1% toward your final grade. Some labs will have small extra credit components. Details will be present in those lab handouts. On very rare occasions there are other opportunities for extra credit.


Academic Integrity

Academic integrity is an important issue in general. The University expects you all to be familiar with Rule 33 in the Code of Policies and Regulations Applying to All Students. If we are able to pick out two nearly identical assignments out of 400, then cheating has likely occurred.

Do NOT post your code into public code sharing tools such as Github. While you may not be cheating, you are enabling other students to cheat which is against the student code.


Accommodations

Disabilities

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 disability@illinois.edu or go to the DRES website.

For instructions on how to handle accommodations with the computer-based testing facility, please see https://cbtf.illinois.edu/students/dres

Mental Health

As a course staff, we are concerned about advancing the mental health and well-being of our students. 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. Also, letís lookout for each other and help others get the help that they need!

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 https://odos.illinois.edu/community-of-care/resources/students/religious-observances 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 Bias Assessment and Response Team (BART) https://bart.illinois.edu/. 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.

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.

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 https://registrar.illinois.edu/academic-records/ferpa for more information on FERPA.

Statement on CS CARES and 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 instructors of this course are also available for issues related to this class.


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. If you want to take the course but have not been able to register, please refer to the following FAQ.

Getting registered for CS 233

Q: The class is full, but I want to register for the course, can you add me?
A: Sorry, no. We have no control over enrollment no matter how delighted we would be for you to take the course.

Q: Okay, can you add me to the waiting list?
A: It is departmental policy to not have wait lists for courses because the enrollment system is not intelligently setup to handle wait lists. Wait lists have been artificially giving students hope and eating up too much time for the advising office without actually helping students.

Q: Can you increase the enrollment cap?
A: No, we cannot increase the enrollment cap. We have no control over enrollment.

Q: Will the cap be raised?
A: Possibly. Depends on when you are asking. Enrollment is usually capped a little lower than maximum to enable particular types of students to be added to the course at specific times (e.g., some seats are reserved for transfer students early in the enrollment period). This process again is outside my control, and I honestly donít know how it works. I believe that the caps are raised shortly before the semester begins and about a week or so after it starts. If you have more questions about enrollment caps, talk to the advising office in Siebel Center.

Q: But I really need to take this course to graduate <on time, in 3 semesters, insert other reason>. Canít you make an exception?
A: We really are sorry, but we have no control over enrollment. If you have a truly extenuating circumstance, then your best bet is to talk to the advising office, but getting into the course is unlikely even if you do talk to them.

Q: Well, what can I do then?
A: Check back in the registration system every day and hope that someone has dropped and you can take their slot. Someone (even many people) WILL drop, but you will need to be vigilant to take their spot before the semester begins.

Q: I have another class that conflicts with CS 233, can I get an override to take both CS 233 and the other course?
A: Maybe, class will be meeting synchronously this semester. We are working to offer alternate sections through which you can earn attendance credit.

What you should do until you are registered

Q: The semester has started, and Iím still not registered for the course but still want add it. What should I be doing now?
A: 1) attend class and participate in GAs, 2) complete the prairielearn homework assignments, especially the pre-flights, 3) follow along with the labs, completing them as assigned, and 4) take quizzes as they are available. Because you can access prairielearn and the labs before registering, there will be NO late policy for prairielearn or labs for students who add the course late aside from the existing late submissions policies.

Q: The last day to add courses is soon, and Iím still not registered for the course but still want to add it. Can I add the course after the last day to add courses?
A: Yes, there will still be opportunities to add courses after the last day to add courses, but it will still be a bit difficult to add the course. There will likely be a handful of seats that open up in the course over the course of next week. If you want to add, you will need to get a late add form from the advising office and ask one of the instrutors to sign it. If you want us to sign the form, we will expect that you have been doing the activities listed above. We want you to be in a position to succeed. If you have not been keeping up with the work, we canít in good conscience sign your form because we donít want to set you up to fail.

What to do once you have become registered

Q: I just added the course, can I still submit the labs I missed for full credit?
A: You can submit labs late only in accordance with the existing late policy for labs. Note that this policy is different from previous semesters due to the switch to github.

Q: I just added the course, can I still get full credit for the PrairieLearn homework?
A: You should have been keeping up with the PrairieLearn homework as that access was not restricted. You can still earn partial credit for any late submissions on PrairieLearn as specified in PrairieLearn.