CS 601: Algorithms, Architecture, and Languages
Announcements
- Final Exam and overall course grades are posted on NetRun's grading area. This was a good semester, thank you!
- The final exam will be a normal on-paper exam from 1-3 p.m., Thursday, May 3, in our usual classroom Chapman 206.
- Project 1
, the second project, is to write a scientific paper. Deliverables:
- Send me a rough outline Friday, April 20.
- We'll do a review session on Friday, April 27 in class
- Bring an anonymized paper copy, formatted like a scientific paper, for your classmates to read and red pen. (Ideally this version would already be feature complete and typo free.)
- The final draft is due Thursday, May 3, the day of the final exam--have the final "camera ready" PDF finished by midnight, and turn it in on Blackboard .
- HW2 is on the orderly cyber distribution of root vegetables, links due by email by midnight on Thursday, April 19.
- Turn in your final PDF annotated bibliography for project 0 on Blackboard (log in first) by midnight Wednesday, March 21.
- The midterm exam will be in class and on paper this Wednesday, March 7.
- Midterm scores are now posted on NetRun's grading area
- Turn in your list of ten project 0 papers on Blackboard (log in first) by midnight Wednesday, March 7.
- HW1 on Context Free Grammar parsers is on NetRun and due Friday, February 23.
- Project 0 research topics are due in class Wednesday, Febrary 21.
- HW0 on architectures & algorithms is now due Monday, January 29 (was due Friday, January 26, but NetRun was inaccessible Friday. It's back up now!)
Lecture Notes & Links
- 04/30: Course review for final exam
- 04/25: Dynamic Programming
- 04/23: Exploiting randomness: Monte Carlo Integration & Genetic Algorithms
- 04/20: Elliptic Curve Cryptography
- 04/18: Quantum Computing
- 04/13 & 04/16: project work sessions (no class)
- 04/11: Shannon's Information Theory
- 04/06: Wurst web framework
- 04/04: AWS EC2 Server Setup
- 04/02: Benchmarking Network Latency
- 03/30: Accessing a Web Service from JavaScript
- 03/28: Networking: The Full Web Stack
- 03/26: Parallel Programming Intro
- 03/23: Strange Physical Computers
- 03/21: Modern Semiconductor Fabrication
- 03/19: Reading & Writing Scientific Papers
- 03/05: Course Review for Midterm Exam (starting at noon)
- 03/02: NP Graph Problems, like Hamiltonian Cycle
- 02/28: Graph Data Structures & Algorithms
- 02/26: NP and NPC problems (starting at noon)
- 02/23: SAT solvers and reducing graph coloring to SAT
- 02/21: LLVM Intermediate Representation and compiler internals
- 02/19: LALR Parsing a CFG (starting at noon)
- 02/16: Context-Free Grammars
- 02/14: Lexer Design: Regex for Compilers
- 02/12: Regular Expressions and Finite Automata (starting at noon)
- 02/09: Chomsky's Hierarchy of Languages
- 02/07: Noncomputable Functions & the Busy Beaver problem
- 02/05: Functional Programming and JavaScript intro (starting at noon)
- 02/02: Just-In-Time Interpreters
- 01/31: Interpreter Design Options . Be ready to talk about your Turing Machine simulator. Optional: be ready to talk about your HW0 microarchitecture.
- 01/29: The Halting Problem and in-class exercise Google Doc (starting at noon again, Monday special!)
- 01/26: Self-Reference: Lambda, Russell, Gödel
- 01/24: Order of Magnitude Estimation
- 01/22: Experiment Design (starting at noon for special 2-hour block!)
- 01/19: Encoding a Computation as Numbers
- 01/17: Overall Design of this Course