Skip to content

yu17/UChicago-coursework

 
 

Repository files navigation

University of Chicago Coursework

CMSC 22100 - Programming Languages

The overarching topic of CS221 is scientific programming language design. The subtopics surveyed include the lambda calculus, dynamic and static semantics, programming language theorems and proof techniques, machine-assisted proofs, and selections of classic and recent literature in programming languages research. Work completed using SML and Coq.

Homeworks:

Includes the implementation of a handful of simple languages (including all necessary machinery to compile to SML). Also includes some automated testing of proofs in Coq and exercises from Types and Programming Languages, by Benjamin Pierce.

CMSC 23300 - Networks and Distributed Systems

The course focuses on the principles and techniques used in the development of networked and distributed software. Topics include programming with sockets; concurrent programming; data link layer (Ethernet, packet switching, etc.); internet and routing protocols (IP, IPv6, ARP, etc.); end-to-end protocols (UDP, TCP); and other commonly used network protocols and techniques. Projects are completed in C for a UNIX environment.

Projects:

  • chIRC: an Internet Relay Protocol server (partially compliant with RFC 2810, 2811, 2812, and 2813) using POSIX sockets and pthreads

  • chiTCP: an implementation of the Transmission Control Protocol

  • simple-router: an implementation of an Internet router using the Mininet network emulator

About

CS coursework at the University of Chicago

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 38.6%
  • Standard ML 35.3%
  • Python 11.3%
  • TeX 6.6%
  • HTML 3.3%
  • Shell 3.2%
  • Other 1.7%