CS161 Labs (Fall 2017)
This is the lab page for CS161 Honors Introduction to Programming. These labs are meant to give you some practice coding in Haskell and expose you to some important computer science concepts.
Lab TA 1: Brian Hempel brianhempel@uchicago.edu.
Lab TA 2: Geoff Owens geoffowens@uchicago.edu.
Piazza
Post questions on Piazza so your classmates can benefit as well. Make a private post if you want to discuss specific code from your solution.
Submission
Submissions are due on Thursday before 11pm. You will have two 24-hour extensions at your disposal for the quarter. Email your Lab TA before the deadline to request an extension. You may use them both 24-hour extensions for one lab or you may use each on two separate labs.
Turn in your labs via git.
$ git status
$ git diff
$ git add file1
$ git add file2
$ git commit -m "Message Here: What Did You Change"
$ git pull
# If vim opens with a "Merge ..." commit message, hit :x to save the message and quit vim.
# If git reports merge conflicts, open the files and fix the conflicts, then follow git's directions.
$ git push
Then check on Gitlab to confirm that your changes are there.
Your instructors do not typically read commit messages. Use Piazza or email if you need to communicate.
Collaboration
The collaboration policy is the same as discussed in class. Mention all collaboration with your classmates, but do your own work from memory (no copy-paste of course). The best place to mention collaboration is in a comment at the top of the file or near the relevant code (not in a commit message). Do not post partial or complete solutions on public websites.
Labs
- Lab 7: WriterT Web Server Logging - November 27, 2017
- Lab 6: Functional Parsing Party - November 13, 2017
- Lab 5: Using Randomness - November 6, 2017
- Lab 4: Counting Words - October 30, 2017
- Lab 3: Parsing Party - Simple Infix Calculator - October 16, 2017
- Lab 2: The Unionized Time Cutter - October 9, 2017
- Lab 1: Simple Reverse Polish Notation Calculator - October 2, 2017
- Lab 0: Haskell Install Party and Git Intro - September 25, 2017