600.103 FUNDAMENTALS OF PRACTICAL COMPUTING

Spring 2011 (see here for last year)
Ken Church and Ann Irvine
Kenneth.Church@jhu.edu

Intended audience: Students considering a major in science, engineering or medicine. This course will teach a principled introduction to the theory and practical use of a broad spectrum of computational tools and technologies. Examples include statistical analysis packages, symbolic computation (LISP), data mining and visualization, Unix, language processing, web programming and cloud computing.

Please bring laptops to class if you can.

Textbook: none

Office Hours: Ken: Thursdays 2-3 Location CSEB 324D (cell: 4109496340); Ann: Wednesdays 3-4 Location CSEB 226; Jonathan Satria: Wednesdays 5-7 at the M-level of the library (by appointment leftfootfirst@gmail.com)

  1. Scratch_Lecture (2/1) Scratch:
    1. How to teach programming to kids in middle school (programming, without realizing that it is programming).
    2. Wisdom of the crowds: kids learn from one another better than they learn from teachers.
    3. What are the fundamentals that kids are learning? OO (object oriented), GUI (graphical user interfaces) and call-backs will show up in practical settings such as web programming.
  2. Web_Programming_Lecture (2/3) Web Programming: see http://www.w3schools.com/html
    1. Practical: HTML, Forms, Tables, Student Home Pages
    2. Fundamentals: Simple but powerful combination mechanisms: OO, GUI, call-backs
  3. JavaScript_Lecture (2/8 & 2/10) Web Programming: see http://www.w3schools.com/js
    1. Practical: HTML, Javascript, Forms, Tables
    2. Fundamentals: Simple but powerful combination mechanisms: OO, GUI, call-backs
  4. Tellme_Lecture (2/15-17): Programming phones using something like HTML
  5. Spreadsheet_Lecture (2/22-3/1): Google Docs, Forms, Spreadsheets
  6. SQL_Lecture (3/3) Databases (MySQL); see http://www.w3schools.com/sql and http://www.analysisandsolutions.com/code/mysql-tutorial.htm
  7. Python_Lecture (3/8)
  8. Natural Language Toolkit (NLTK) (3/10-17)
  9. Spring Break (3/22-24)
  10. Midterm Week (no homework) (3/29-31); solutions posted here
  11. Unix for Poets (4/5-19)
    Homework (due 4/7): Slide 17 from here
  12. C and More C (4/21-26)
  13. Statistics (R) (4/28)
  14. Information Retrieval, Vector Space Model & Latent Semantic Indexing in R (5/3)
  15. Algorithms (5/5 Last Day of Classes);
  16. Hand out take-home final (due 5/19)