CS 302 Course Work

COURSEWORK (Last Modified on: 12/01/15):

CodeLab | Labs | Programs | Pair-Programming | Exams |

CodeLab

Due dates have been set. The first due date is Monday of Week 3.

With CodeLab, you will gain first-hand programming experience and get immediate feedback on your program code in an interactive online exercise environment.

REGISTRATION (FOR STUDENTS):

  1. www.tcgo1.com or www.tcgo1.com
  2. Click "Register for CodeLab"
  3. Choose "I am a student in a course ..." and click CONTINUE
  4. Enter the Section Access Code:



    and click CONTINUE
  5. Continue filling out the forms being careful to enter your WISC.EDU email address and first and last names as shown on your Student Center. (these will appear in the professor's roster)

Note: Initially this is a trial allowing you to answer 10 exercises. For full access you will have to click Gain Access in the CodeLab Lobby and pay the fee.

LOGIN (FOR STUDENTS):

  1. www.tcgo1.com or www.tcgo2.com
  2. Fill-in the Sign In Form fields
  3. Click the [SIGN IN] button.

Need help with CodeLab?

If it is because different parts seem out of sync, try refreshing the page. There are many parts to CodeLab interface and not all get updated with each click. A page refresh should ensure that all parts are updated.

 

Lab Sections:
NO CS302 LABS ON 9/1 or 9/2
FIRST LAB MEETS ON 9/8 or 9/9

Schedule of lab times each week (this is actual labs that meet)

Schedule of lab consulting times each week

Links to lab assignment pages: 

Lab Sections Schedule: FALL 2015 (NO LABS 12/15/15)

  TUESDAYS starting 9/8
TIME/ROOM 1350 CS
(52)
1370 CS
(52)
9:30 - 10:45

Lab 331
Ankur
Subasree

11:00 - 12:15

Lab 332
Subasree
Sean
Lab 342
Ben
1:00 - 2:15


Lab 333
Ashkan
Tithy
Lab 343
Tejaswi
2:30 - 3:45


Lab 311
Ashkan 
Tithy
Lab 321
Minsub
Ben
4:00 - 5:15


Lab 312
Tithy
Nivetha 
Lab 322
Minsub
Adithya
5:30 - 6:45   Lab 366 & 341
Adithya
Isaac

 

  WEDNESDAYS starting 9/9
TIME/ROOM 1350 CS
(52)
1370 CS
(52)
9:30 - 10:45

Lab 313
Ankur
Isaac
Lab 323
Nivetha
Tejaswi
11:00 - 12:15


Lab 314
Ankur
Minsub
Lab 324
Subasree
Gregory
1:00 - 2:15


Lab 315
Ashkan
Sean
Lab 325
Tejaswi
Gregory
2:30 - 3:45


Lab 334
Sean
Lab 364
Ben
4:00 - 5:15


Lab 335
Adithya

Lab 365
Gregory

See Lab TA email addresses below.

TAs:

  • Adithya Bhat, adbhat @CS.WISC.EDU
  • Ankur Srivastava, asrivastava @CS.WISC.EDU
  • Ashkan Forouhi Boroujeni, ashkanfb @cs.wisc.edu
  • Isaac Sung, isung @cs.wisc.edu
  • Gregory Short, short @CS.WISC.EDU
  • Ben Miller, bmiller @cs.wisc.edu
  • Minsub Shin, msshin @cs.wisc.edu
  • Nivetha Singara Vadivelu, nivethavadivelu @CS.WISC.EDU
  • Sean McClanahan, seanm @CS.WISC.EDU
  • Subasree Venkatsubhramaniyen, subasreev @CS.WISC.EDU
  • Tejaswi Agarwal, agarwalt @cs.wisc.edu
  • Tithy Sahu, tithys @cs.wisc.edu

Programming Assignments:

Links to programming assignment pages: (PPS - primary Piazza support)

See cs302 Policy Handbook for Programs Assignment policies. Be sure to register teams BEFORE working together for programs that allow pair-programming.

Pair Programming: only when explicitly allowed

Pair Programming is where two programmers work together to write one program solution. It is critical that both programmers work on all aspects of the solution. Student's are not permitted to divide the work up and have each student complete only some part.

  1. Both team members must register the partnership using the CS302 Forms Page BEFORE you begin the programming assignment assignment together. 
    REMINDER: Both teammates must log in to Forms and complete the Team Information section.  One teammate will create the team and the other teammate will join the team.  Only when both teammates have certified their intent to work together is the team considered registered.
  2. You may have only one partner for each programming assignment.
  3. You may have a different partner on different programming assignments.
  4. You may not pair program with multiple partners on the same assignment.
  5. Your partner must be currently enrolled in a CS302 lecture.
  6. You may partner with someone from a lecture other than your own.
  7. You must list your partner as a collaborator in the header comments of each of your source files (see Commenting Guide).
  8. You must follow the principles of pair programming summarized below.
  9. You may cancel your team membership up until the team due date, but you will not be permitted to join a new team for that programming assignment. To disband your team, log in to Forms, enter Team Information page, and click butten labelled Leave Team to cancel your membership in that assignment's team.

Submitting someone else's work as your own is academic misconduct, which will result in a zero on the assignment, as well as possible additional penalties in accordance with University Academic Misconduct procedures. It is also Academic Misconduct to help another student commit Academic Misconduct. Do not show your solution or share your files with anyone other than your registered programming pair partner.

Principles of Pair Programming:

The following is a summary of successful pair programming principles taken from a paper by Williams and Kessler:

  • Pair programming involves two people working together at one computer, continuously collaborating on design, coding, and testing. One person types; the other either provides directions ("Now we need to write a new method that does ..., Now we need a loop to do ...") or constantly reviews what the typer is doing, and provides comments.
  • Pair programming has proved successful both in classes and in industry. Programmers usually report having more confidence in their solutions and enjoying programming more when working in pairs.
  • It is important to switch roles often (slide the keyboard back and forth). Because pair programming can be quite intense, it is also a good idea to take breaks (to check e-mail, go for a walk, have a snack).
  • It is important to provide honest but friendly feedback. To be effective, there needs to be some healthy disagreement and debate, but pairs also need to be respectful of each other, and try to avoid becoming defensive when receiving criticism.
  • Inevitably, programmers do some independent thinking/working. For best results, that work should be reviewed by both partners (and perhaps revised) when they start working together again.
  • To be successful, pair programmers must realize that the benefits of working together outweigh their usual preference for working alone, they must confidently share their work, accepting instruction and suggestions for improvement in order to improve their own skills and the code they are writing, and they must accept ownership of their partner's work and thus be willing to constructively express criticism and suggest improvements.

Exams:  Campus ID Check-In App (for TA use only)

See cs302 Policy Handbook for Exam policies. Be sure to report any conflicts and request any accomodations via the Forms tools before the end of week 3.

All CS302 exams are multiple choice.

Final Exam Room Assignments:

For the location of the buildings,
click on the building name below or check out the campus map.

Be sure to have your UW Campus ID and arrive at the correct exam room for your lecture.

We will direct you to the correct exam room should you arrive at the wrong room and this would most likely delay your start on the exam. For the location of the buildings, click on the building name below or check out the campus map.

See cs302 Policy Handbook for Study Tips and related exam policies. Be sure to register exam conflicts and accomodation requests before the end of week 3.