New Semester
Class initialization - Before semester starts:
- Install Linux on a couple of extra thumbdrives as emergency backups (in particular, for VM problems during an exam)
- [DONE] Flip website (move existing to archive, make a copy for the new semester, hidden by default)
- [DONE] Update lab content instructions: "2017_spring_ecpe170" instead of "2016_fall_ecpe170"
- [DONE] Create bitbucket account and "boilerplate" repository
- [DONE] Make previous boilerplate repository private again
- [DONE] Create Canvas site - Copy over Assignments, Resources, .... from prior ECPE 170
- Anti-cheating measures so class isn't 100% identical to prior semesters:
- Lab 4 - C Programming - Make a new project (early COMP 53-level complexity)
- Fall 2012 - Word search
- Spring 2013 - Beginnings Crossword Puzzle
- Fall 2013 - Frigate (1-sided battleship)
- Spring 2014 - Sudoku
- Fall 2014 - Word search (REPEAT of Fall 2012)
- Spring 2015 - Beginnings Crossword Puzzle (REPEAT of Spring 2013)
- Fall 2015 - Sudo (REPEAT of Spring 2014)
- Spring 2016 - Frigate (repeat of Fall 2013)
- Fall 2016 - Word search (REPEAT of Fall 2014)
- Spring 2017 - Beginnings Crossword Puzzle (REPEAT of Spring 2015)
- FUTURE - ?????
- Snakes?
- Scrabble? (simplified)
- Boggle?
- Connect Four (COMP 51 already does this, but Lab 4 has unique requirements that would force students to rewrite/adapt)
- Other word games
- Lab 5 Part 1 - Mix up the list of sorting algorithms or add a new one (Vivek: Added tree sort)
- Lab 5 Part 5 - Find a different real-world program to profile
- Fall 2012, Spring 2013 - wget
- Fall 2013 - traceroute
- Spring 2014 - nmap
- Fall 2014 - nmap (REPEAT)
- Spring 2015
- ntpdate or ping or diff or netperf or ...?
- Fall 2016
- Image Amplification (written by UOP students Alex Murray and Parth Italia)
- Lab 10 - Assembly 1 - Tweak the functions to make them different enough
- Lab 11 - Assembly 2 - Make a new project (COMP 51-level complexity)
Scheduling:
- Students insist on doing the minimum work outside of class (duh). Carefully schedule lab due dates to ensure that even the laziest student cannot be too far behind the curve.
- Ideal: Introduce Lab X in class, and all students immediately start working on Lab X
- Less ideal but tolerable: Introduce Lab X in class, and 75% of students start working on Lab X while remaining 25% are working on Lab X-1.
- Not acceptable: Introduce Lab X in class, and some subset are still finishing up Lab X-2 which is due later that day!
- If class is T-Th, set due dates on Monday night, not Tuesday night, so at least you don't lose Tuesday to "old lab work" too...
VM Install tips not on page:
- Wireless network issues? Use a short patch Ethernet cable in CTC 115 (back wall by the other cables)
Midterm exam tip:
- If they get a "username not specified" error when trying to commit their exam work, check and see if a hidden .hg folder exists. If so, that means they ended up nesting the exam repository inside of their personal repository. (Either at clone, or by copying everything including hidden files). Just blow away (rm -rf .hg) that hidden .hg folder (ASSUMING IT'S NOT AT THE ROOT OF THEIR PERSONAL REPOSITORY!) and have them re-add and commit their files. Previously, they were adding them to the exam repository.