===== Teaching ===== ~~NOTOC~~ ==== General ==== * [[https://www.csprofessor.org/|Computer Science Educator's Hub]] ==== First-year computer science ==== * [[http://www.programbydesign.org//|Program by Design]] - The computer science core of a liberal arts education\\ * [[http://www.htdp.org/|How to Design Programs]] - An Introduction to Programming and Computing * [[http://www.racket-lang.org/|Racket]] - Includes the DrRacket programming environment\\ * [[http://www.wescheme.org/|WeScheme]] - Web-based programming environment * [[https://cs.brown.edu/courses/csci0111/index.html|CSCI 0111]] - Brown CS Computing Foundations * [[https://papl.cs.brown.edu/2020/index.html|Programming and Programming Languages]] text * [[https://cs.uwaterloo.ca/~plragde/flaneries/|Flâneries]] by Prabhakar Ragde * Function Introduction to CS [[https://cs.uwaterloo.ca/~plragde/flaneries/FICS/|Part I]] and [[https://cs.uwaterloo.ca/~plragde/flane/FICS2/|Part II]] * [[https://cs.uwaterloo.ca/~plragde/flaneries/FDS/|Functional Data Structures]] * [[https://felleisen.org/matthias/HtDC/htdc.pdf|How to Design Classes]] * [[https://github.com/TesterViera|Javalib]] (Github repo) * [[http://www.youtube.com/user/objectsfirstwithjava|Objects First with Java]] (video lectures) * Kathi Fisler's [[people:mlsmith:infinite-trees|Infinite Trees]] ==== Programming Languages ==== * Shriram’s [[http://cs.brown.edu/courses/csci1730/2012/|Introduction to Programming Languages]] course (archived) * Matthew’s [[http://www.eng.utah.edu/~cs5510/|Programming Languages]] course (Fall 2017) * [[https://www.youtube.com/user/racketlang/videos|RacketCon]] video presentations ==== Parallel Programming ==== * [[http://www.pdcunplugged.org/|PDC Unplugged]] * [[https://csinparallel.org/index.html|CSinParallel]] ==== Relational Databases ==== * Software * [[https://www.postgresql.org/|PostgreSQL]] (RDBMS) * [[https://dbeaver.io/|DBeaver Community]] (native IDE) * [[https://www.pgadmin.org/|pgAdmin]] (browser-based IDE) * Courses * Marist's [[http://www.labouseur.com/courses/db/|Database Systems]] course, by Alan Labouseur * with //many// links to further readings and resources * Stanford's [[https://lagunita.stanford.edu/courses/DB/2014/SelfPaced/about|Introduction to Databases]] course, by Professor Jennifer Widom * Lectures / Tutorials * [[https://youtu.be/nWyyDHhTxYU|Learn SQL with Socratica]]: a YouTube lecture series * [[http://www.postgresqltutorial.com/|PostgreSQL Tutorial]] * [[https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-18-04|How to Install and Use PostgreSQL]] * [[https://youtu.be/qw--VYLpxG4|PostgreSQL in 4 hours]]: Learn PostgreSQL Tutorial on YouTube * [[http://www.sqlcourse.com/|SQL Course]] * [[https://www.w3schools.com/sql/|SQL Tutorial by w3schools]] * [[https://towardsdatascience.com/ten-sql-concepts-you-should-know-for-data-science-interviews-7acf3e428185|Ten SQL Concepts You Should Know for Data Science Interviews]] * [[http://marcrettig.me/blog/|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.: * I have the original 1989 poster hanging in my office. Here's a scan: {{:people:mlsmith:5-rules-of-data-normalization.jpg?50|}} * and here is Marc Rettig's faithful recreation of the poster: {{ :people:mlsmith:rettignormalizationposter.pdf |}} * Texts and References * [[https://www.db-book.com/db7/|Database System Concepts, Seventh Edition]], by Silberschatz, Korth, and Sudarshan * [[https://opentextbc.ca/dbdesign01/|Database Design, Second Edition]], by Adrienne Watt * [[https://jrebel.com/rebellabs/sql-cheat-sheet/|SQL Cheat Sheet]] * [[https://websitesetup.org/sql-cheat-sheet/|SQL Cheat Sheet]] by Luke Harrison ==== Github ==== * [[https://education.github.com/git-cheat-sheet-education.pdf|Git cheat sheets]] * [[https://enterprise.github.com/downloads/en/github-flow-cheatsheet.pdf|GitHub Flow guide]] * [[https://enterprise.github.com/downloads/en/markdown-cheatsheet.pdf|GitHub-Flavored Markdown guide]] * [[https://www.youtube.com/playlist?list=PLIRjfNq867bewk3ZGV6Z7a16YDNRCpK3u|GitHub Classroom Getting Started Guide]] ==== Online ==== * [[https://er.educause.edu/blogs/2020/4/student-centered-remote-teaching-lessons-learned-from-online-education|Student-centered remote teaching: lessons learned]] * [[https://www.chronicle.com/article/5-Low-Tech-Time-Saving-Ways/248519|5 Low-Tech, Time-Saving Ways to Teach Online During Covid-19]] * [[https://www.chronicle.com/interactives/advice-online-teaching?cid=rclink|How to Be a Better Online Teacher: Advice Guide]]