Teaching
General
First-year computer science
- Program by Design - The computer science core of a liberal arts education
 - How to Design Programs - An Introduction to Programming and Computing
 - Racket - Includes the DrRacket programming environment
 - WeScheme - Web-based programming environment
 - CSCI 0111 - Brown CS Computing Foundations
 - Flâneries by Prabhakar Ragde
 - 
- Javalib (Github repo)
 
 - Objects First with Java (video lectures)
 - Kathi Fisler's Infinite Trees
 
Programming Languages
- Shriram’s Introduction to Programming Languages course (archived)
 - Matthew’s Programming Languages course (Fall 2017)
 - RacketCon video presentations
 
Parallel Programming
Relational Databases
- Software
- PostgreSQL (RDBMS)
 - DBeaver Community (native IDE)
 - pgAdmin (browser-based IDE)
 
 - Courses
- Marist's Database Systems course, by Alan Labouseur
- with many links to further readings and resources
 
 - Stanford's Introduction to Databases course, by Professor Jennifer Widom
 
 - Lectures / Tutorials
- Learn SQL with Socratica: a YouTube lecture series
 - PostgreSQL in 4 hours: Learn PostgreSQL Tutorial on YouTube
 - Marc Rettig's blog where you can download the classic Data Normalization Poster which was given away as a gift for subscriptions to Database Programming and Design Magazine.:
- and here is Marc Rettig's faithful recreation of the poster: rettignormalizationposter.pdf
 
 
 - Texts and References
- Database System Concepts, Seventh Edition, by Silberschatz, Korth, and Sudarshan
 - Database Design, Second Edition, by Adrienne Watt
 - SQL Cheat Sheet by Luke Harrison
 
 
