Perhaps the most important part of this class is the weekly code reviews. These will give you the opportunity to get feedback on the code that you've written. We'll be assigning code review sections during the first week of classes, and starting them in the second week of the semester. Code reviews are 2-hours long and consist of (at most) six students and one moderator. Students will take turns presenting their code: showing its operation, key design principles, and how the code works. Presenters will receive feedback and questions from the moderator and their fellow students. In recognizing that presenting one's work places them in a position of vulnerability, it is important that all participants provide constructive criticism in a respectful manner. Based on each student's presentation, their participation during other students' presentations, and their submitted code, the moderator will grade each of their students.
We will do our best to assign you a section at one of your preferred times, but we have limitations with room and staff availability. If you are assigned a section that doesn't work for you, you can make a formal request to change your code review time. We will do our best to accommodate such requests.
It is of primary importance that students present their code at a code review on a weekly basis, as their work will not otherwise be graded. That said, we understand that there are reasons why you may not be able to make it to your regularly scheduled code review. In particular, the following reasons are considered acceptable reasons for missing a code review (up to 3 times during the semester):
Note that job interviews are not a valid reason to miss a code review, since they could be scheduled at a non-conflicting time.
When you need to miss a code review, you should contact your moderator ahead of time (if at all possible) and enlist their help in finding an alternative code review opportunity. The preferred solution is to find an alternative code review time that you can attend (for full credit). If that isn't possible, then you and your moderator can arrange a time for a 1-on-1 code review, but this alternative may involve reduced credit, as you won't have the opportunity to earn participation points during other students' presentations. In any case, a make-up for a code review should happen within a week of the assignment due date.
Academic integrity is an important issue in general, but especially in this class. In order to have enrolled in the class, you need to be a CS major, which means proficiency in programming is fundamental to both your success in this major as well as your future career. The purpose of this class is to help you develop this proficiency, to grow your competence as a programmer. You can't grow your own competence if others are doing your work for you; you need to be the one working through all of the assignments. If you find yourself struggling in this class, get help from the course staff. If you find yourself considering cheating in this class, you should strongly consider changing majors. Life is too short to spend lots of time studying a major that you don't actually like.
Specifically, you must be the one to develop, type in, and test/debug all of the code that you submit, unless otherwise directed in the course. It is okay to have high-level discussions about course content, to draw and discuss diagrams on a white board, and to discuss rules of language syntax with fellow students. It is not okay to give or show a fellow student code that you wrote, view the code written for an assignment written by another student before the due date, or to solicit another individual to write code for you.
The CS department expects you to be familiar with the CS department's Honor Code and 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 the class, then cheating has likely occurred. All parties involved will receive a 0 on that assignment or exam and their final course grade reduced by one letter (e.g., A->B, B->C, etc.). A second offense will result in a failing grade for the class.
A significant part of programming is using reference materials, because few have the full language specification memorized and programmers frequently use code that they themselves didn't write in the form of libraries. Since we want CS 126, as much as possible, to reflect authentic programming, you are allowed and even encouraged to use the internet as a reference when writing your code. This includes using snippets of code from internet help sites like Stack Overflow (https://stackoverflow.com/). We do, however, have some constraints on your usage of code that you didn't write:
// code below derived from: // https://stackoverflow.com/questions/21626439/how-to-implement-the-java-comparable-interface public int compareTo(LineItem other) { return Integer.compare(this.position, other.position); }
Your iClicker score will be on Compass
Lectures are recorded using the college's Echo360 system.
To login, please select "LOG IN VIA INSTITUTION" on the right-hand side and select "University of Illinois at Urbana-Champaign - College of Engineering". You'll then be prompted to authenticate using your Active Directory (AD) credentials. Once you're authenticated, you should see a dashboard page displaying content for your courses using Echo360.
We'll use the Compass 2g grade book. Your grades in CS 126 will be computed as follows: