This page last changed on Dec 19, 2011 by cemeyer2.
CS242: Programming Studio Spring 2012
Credit: 3 Hours, required for all undergraduate CS majors
Prerequisites: CS225 and CS241. In general, we expect you to be able to comfortably program in Java, C++, and C. If you have not taken the required prerequisites, please talk with one of the TAs or the instructor to ensure that you will be successful in this course.
Meeting Times: Lecture will be every Monday from 4:00-4:50 PM in 1404 Siebel Center. Discussion sections will be held on Thursday and Fridays for 1 hour and 50 minute blocks between 8:00 AM and 9 PM. Details on exact times for discussion sections and how to register for one will be posted to the course website and newsgroup shortly.
Course Web Site: http://cs.illinois.edu/class/cs242/
Course Newsgroup: http://piazza.com/class, register for an account at http://piazza.com/illinois
Office: 2101 SC
Office: 4237 SC
Office Hours: W 1230-1400 0403 SC
Almost always available on Illinois Chat
Office Hours: … 0403 SC
Almost always available on Illinois Chat
Office Hours: … 0403 SC
Most classes teach computer science theory. In this class we teach practical programming. In most classes you learn to write correct programs. In this class you’ll learn to be a better programmer. We focus on writing simple, readable, maintainable code and on presenting your work to other programmers.
In this course, you will have to attend the lectures on Mondays, following which you will be given an assignment. You will be given a deadline to finish this assignment following good coding practices and conventions. You will have to attend discussion sections on Thursdays and Fridays where you will be asked to present your work to other students in your section. You are expected to be able to answer questions or queries that other students or your section leader may have about your code.
Additionally, we will emphasize peer code reviews. To accomplish this, we will eventually be assigning each student to read another student’s code before discussion section each week. Details about this procedure will be forthcoming.
- There will be an assignment roughly every week.
- New assignments sometimes depend on previous assignments so you should make sure all your previous assignments are working properly.
- New assignments are posted to the class website and will be announced in the newsgroup. Please read the new assignment carefully and pay attention to the grading rubric before starting on it.
- Sometimes we require that you use a particular tool for accomplishing the assignment. Refrain from using complex libraries or frameworks that most students are not familiar with unless you get prior permission from your TA.
- Some assignments will require working in groups and usually the TAs will assign you to groups. But unless otherwise stated, all work is individual.
- Ask questions on the newsgroup whenever you are unsure about something. Chances are if you are unsure, others probably are as well.
- In this class, you are allowed to use code snippets from various resources (web, books, etc). If you use any code snippet, you need to include the source as part of your code comments. Please note though, if for example an assignment asks you to code a specific algorithm and you properly use and cite pre-written version of that algorithm from another source, you will not be penalized for plagiarism but you will not receive credit for the component of the rubric that covers that algorithm (since you did not write it). For example, if we ask you to use Dijkstra’s algorithm for an assignment and you use a properly cited pre-written version of it, you will not receive credit for writing the algorithm.
- Once we have discussed issues such as unit testing and version control, it is your responsibility to incorporate them into the future assignments.
- TO RECEIVE POINTS FOR AN ASSIGNMENT YOU MUST PRESENT YOUR CODE IN DISCUSSION SECTION AND IT MUST COMPILE. Code that does not compile will receive an automatic zero for the week.
- The course is not about ‘getting the job done’ but rather to improve style and organization which is addressed in discussion sections. You will earn more points by writing high quality code that does not fulfil all of the functional requirements of the assignment than writing poor quality code that meets all of the functional requirements.
- We expect you to properly cite all sources that you use to complete an assignment.
- Each week, we will be running your code through automated software to check for any cases of academic dishonesty.
- The first violation will result in a non-droppable zero on the assignment, the second will result in failing the course, any subsequent violations will be taken up by the college.
- This policy holds regardless of when the dishonesty is detected.
- There will be quizzes given in lecture fairly often covering material that was previously covered in lecture as well as assigned readings and tutorials. They will not be announced.
- The only way to receive credit for quizzes is to attend lecture the day that they are given, unless you have documented proof of absence from the emergency dean.
- Before discussion section, it is your responsibility to post your source code to subversion by the deadline on the assignment specification. This is a HARD deadline and you must post your source code by deadline. For instance, if we say post your source code by 8 p.m. you must do so or you will be penalized 5% per hour late.
Late/Missing Work Policy
- You must complete every assignment given during the semester.
- If know you will be out of town for a given discussion section, you must first ahead of time inform Charlie of your absence with documented proof. It is still your responsibility to have your work committed to subversion by the due date each week. Your section leader will grade your code as normal and will give you full points for anything you could only earn in discussion.
- If you have an unexpected need to miss a discussion such as illness or family emergency, you must forward Charlie a letter from the emergency dean verifying the issue. You will then be given a 1 week maximum extension to complete your work. Note: this does not excuse you from any future assignments.
- We will be using 0403 SC for our discussion section. 0403 SC is the room in the basement under the lecture hall near the vending machines. There are LCD screens to hook up your laptop to present your code and house computers you can use as well. Each week you will need to show your section a running version of your code, so please make the necessary preparations as such. We do have a limited supply of adapters for Apple computers to allow them to connect to our LCD screens.
- Always make sure that you can easily retrieve a plain text version of your source code (SVN, netfiles, EWS, usb pen drive, etc); at least, even if we have to use a basic text editor, we can still read your source code.
- There will be a final project for this class. You may work individually or in pairs if approved by the instructor.
- You will be given roughly 4 weeks for the final project. During these 4 weeks, you will present your progress in discussion section.
- More information on the final project will be posted later. In the past, students have worked on applications such as address book applications, web content management frameworks, cheat detection programs, android and iphone apps, and various open source projects.
- Our textbook is Code Complete 2 by Steve McConnell. See here for more details. The book is required and there will be assigned readings out of it, possibly covered by quizzes in lecture. Also, this is a required textbook (currently) for CS427/428/429, so if you plan on taking any of these courses in the future, it is a good investment now to purchase this book.
- Please check the newsgroup frequently as important announcements will be posted there. Also, whenever possible, please help your classmates by answering their questions.
- Most questions on the newsgroup will be answered within 24 hours.
- Grades and other feedback for discussion sections can be found by logging in to https://comoto.cs.illinois.edu/cs242.
- You may request a regrade on any assignment within 2 weeks of the due date of that assignment. To request a regrade, email one of the TAs. Your grade may go up or down depending on the regrade, so please use them judiciously. Also note, regrades can only regrade certain portions cannot be regraded, such as discussion section participation.
- Your lowest assignment grade for the semester will be dropped if excused as noted above, excluding the any of the final project weeks or quizzes. Certain other weeks may not be dropped, and will be noted as such on the assignment specification.
- All grades are normalized to 100 points and across moderators, so that if your moderator grades “tougher” than others, you will not be penalized, although if your moderator grades “easier” than others, your final average may go down.
- All quiz grades will be averaged and weighted as 1-2 assignments depending on the number of quizzes given. We will clarify this as the semester progresses.
- In previous semesters, roughly 20% points were allotted for each letter grade. This may be adjusted this semester depending on the grade distribution.
- We will do our best to give you feedback mid-way through the semester, but due to different moderators progress in completing their grading, this may be delayed. You can always compute your own score on your own using the information above.
- You may give suggestions on future assignments by talking to the lecturer or the TAs.
Communicating with the Staff
If you need help with an assignment, first post your question to the newsgroup or come to one of the TAs office hours. They are posted on the home page of this wiki and at the top of this page. If none of the times work for you, email one of the TAs to make an appointment. We will do our best to accommodate your schedule. The TAs will not answer questions via email that could also be posted on the newsgroup, so please reserve email queries to questions that are specific to how you are completing the assignment.
Staff members will do their best to respond to emails within 24 hours, excluding weekends. Email your moderator first, and if he cannot help you, email one of the TAs or the instructor. When emailing any staff member, always be sure to begin your subject line with “CS 242” to ensure that we can differentiate your message. (not a gmail address for example)
Lastly, some of the staff may be willing to help you over Illinois chat. Just because we are noted as online does not mean that we will be immediately able to help you, but we will make our best effort as soon as we can.