Presentation is loading. Please wait.

Presentation is loading. Please wait.

Welcome to Programming Practicum You aren’t here writing clinic reports clinic liaison phone call coding chunky strings rebooting knuth (or turing or…)

Similar presentations


Presentation on theme: "Welcome to Programming Practicum You aren’t here writing clinic reports clinic liaison phone call coding chunky strings rebooting knuth (or turing or…)"— Presentation transcript:

1 Welcome to Programming Practicum You aren’t here writing clinic reports clinic liaison phone call coding chunky strings rebooting knuth (or turing or…) installing Debian 3.1 the dumpster University of St. Petersburg On the 405, in traffic, being chased by police (and TV) helicopters. Mailing something at the Claremont Post Office Waiting for the snow enveloping you on Route 5 N to melt Krispy Kreme’s drive-through Teaching Honors English for Janice Barbee at Pomona High School Worldcom Headquarters Leading a Gray Davis / Gary Coleman / Arnold “T-800” Schwarzenegger gubernatorial fundraiser exploring martian soil Being dragged off-course 18 miles into a marathon race by a crazed spectator Massey University Palmerston North, NZ Pittsburgh Driving N on the Dalton Highway… (though it feels like it!) Victorville, for DARPA's Urban Granc Challenge Waiting in line to vote in the Florida primaries… Denver, CO or Minneapolis, MN DC for the inauguration On fire just W of here!! Harbin (dream)! Harbin (reality)! in Sharm-el- Sheikh, Egypt! Not waiting in line in a FL themepark... Moscow (Idaho)

2 Introductions! Zach Dodds dodds@cs.hmc.edu Office Olin 1255 Email fan of low-tech games fan of low-level AI

3 two things I didn't create... compiling C programs in a browser! but I was a "historical consultant" for this stop-motion video

4 What is this course about? Or, rather, what it's not about:

5 What is this course about? Most semesters, CS 189 is a class that asks you to solve small algorithmic challenges efficiently both code-wise and coding-wise. Or, rather, what it's not about: motivated, in part, by the ACM programming contest...

6 Why change? Alums: What do you feel you didn't get @ HMC CS? Paul Scott Josh Klontz Josh Ehrlich Moira Tagle Karen Gragg Will Scott

7 Why not?

8 Why change? Alums: What do you feel you didn't get @ HMC CS? Paul Scott Josh Klontz Josh Ehrlich Moira Tagle Karen Gragg Will Scott web technologies (just for terminology...) cmake and build systems the code check-in process web things parallelizing/distributing large computations web frameworks don't try to teach web stuff

9 This term in CS 189 different sort of programming practicum course... asks you to take on choosing and learning about a technology, domain, library, or project that might be one of your answers to the question, What do you feel you didn't learn @ HMC?

10 This term in CS 189 different sort of programming practicum course... asks you to take on choosing and learning about a technology, domain, library, or project (0) get your technology, etc. working (1) decide on a reasonable application (2) research as the application demands... (3) repeat (2 smaller projects or 1 larger one) Plan: that might be one of your answers to the question, What do you feel you didn't learn @ HMC?

11 This term in CS 189 different sort of programming practicum course... asks you to take on choosing and learning about a technology, domain, library, or project OpenCV Qt other UI library game dev. library console library (Zvi Effron!) hardware project requiring programming something you've wanted to do but you wouldn't otherwise get to (Chet Corcos) web technologies Minecraft technologies! framework, e.g., web framework (Django et al.) en.wikipedia.org/wiki/ Comparison_of_web_ application_frameworks that might be one of your answers to the question, What do you feel you didn't learn @ HMC?

12 Drawbacks? specific technologies should be avoided in the CS curriculum I agree. Yet, this one-unit course shouldn't be enough to shift the balance... Benefits? there's not enough support to make it work It's true – I'm not an expert at whatever you're likely working on, but here it's not expertise at issue, but the "working on"... too much time will be required! 3-4 good-faith hours per week should result in at least a B in CS 189 it never hurts to have an on-line portfolio of one or more of your projects... helps the limitations of DWIC letters, because it's unique + personalized (edge-aware video smoothing) curricular support vs. expertise support sometimes the benefits don't outweigh the drawbacks one unit!

13 Class Organization alternating format discussion sessions lab sessions snacks (a CS189 tradition...) 30-40 minutes on various topics: perhaps using guest speakers... certainly demonstrations and insights from projects so far also, time to work on projects (& jotto!) also snacks... work on that week's project and/or deliverable and/or write-up convenient time to work in teams... I'd strongly encourage you to work in teams of 2-3 but, larger teams should divide into teams of 2-3 Teams have to work physically together at least ½ of the time but team members must share the project's work equally.

14 Course Deliverables and schedule Jan. 17 Jan. 24 Jan. 31 Feb. 7 Feb. 14 Feb. 21 Feb. 28 Mar. 6 Mar. 13 Mar. 20 Mar. 27 end of term today! lab session... wiki page + Project#1 plan due discussion/demo session lab session... demo 1 + progress report due discussion/demo session... lab session... demo 2 + progress report due discussion/demo session... lab session... Project#1 demo 3 and final write-up due spring break discussion/demo session... + Project#2 plan due Mar. 27 end of term... Project#2 demo and write-up due These have shifted forward by a week...

15 First deliverable: Jan. 24 lab session... wiki page + Project#1 plan due By 11:59pm on the 24 th, you should create a wiki or web page where you'll update your project link from the ACM spring 2012 wiki page... See www.cs.hmc.edu/ACM have chosen a technology/library/domain/project describe the application you'd like to work towards by 3/6 describe what you'd like to demo by 2/7 and 2/21 gotten something to work -- this is important! If your library or framework is too stubborn to install or work at all after the first week, it's not a good choice for CS 189!

16 Grading: 5 points for each project plan (are they done?) 10 points for each project update? 5 points for 3-4 hours/week of progress and a working demo 3 points for its write-up with all of the components (≤1 hr.) 2 points for unusual effort, features, documentation, etc. (0+ hrs.) 30 points for project #2's final demo and write-up same ratios as above (and time concerns...) 90-100+%  A range 75-89%  B range 60-74%  C range (nothing below this, let's hope!) goal: 3-4 hours/week Fairly traditional final scale:

17 No ideas? Default projects... goal: to get familiar with a variety of web technologies Project #1: build a web jotto-player and advisor demo 1: use HTML, CSS, and CGI forms with Python to choose a random hidden word and score guesses against that hidden word demo 2: use an SQL database to help analyze the comparative effectiveness of guessing a particular word next, without scoring them all final demo: use javascript and AJAX (and/or HTML 5 canvas) features to make the interface more slick, as befits the noble game of Jotto! See https://www.cs.hmc.edu/twiki/bin/view/CS5/WebCS5DevelopmentPage for some (rough) guidance and sample applications on HMC's webserver...

18 No ideas? Default projects... goal: to get familiar with a variety of web technologies Project #1: build a web jotto-player and advisor demo 1: use HTML, CSS, and CGI forms with Python to choose a random hidden word and score guesses against that hidden word demo 2: use an SQL database to help analyze the comparative effectiveness of guessing a particular word next, without scoring them all final demo: use javascript and AJAX (and/or HTML 5 canvas) features to make the interface more slick, as befits the noble game of Jotto! Project #2: build a web-based Python autograder alternative final demo: allow a user to submit a program and get "immediate" feedback as to whether it passed a series of tests or not (time out as necessary to avoid uncomputability...) impossible final demo: show off your Hyper-Turing quantum computer, since, after all, the autograder problem is uncomputable

19 http://www.amirrorclear.net/academic/papers/many-forms.pdfhttp://www.cs.virginia.edu/~robins/The_Limits_of_Quantum_Computers.pdf HyperTuring computation is easy – just add coffee to your TM! Hyper-Turing? Quantum computers are not considered likely to extend what's computable – only how efficiently computations can be done.

20 Hyper-turing computation? HyperTuring computation is easy – just add coffee to your TM!

21 Hyper-turing computation? HyperTuring computation is easy – just add coffee to your TM!

22 Survey JRsSRsElderly a word-guessing game similar to mastermind… diner ? This term's first class to guess another's word earns 1 point... diner ? This term's last class to have its word guessed earns 1 point... Sophs diner ? Pomona? diner ? Other points may be possible... Get together with same-year classmates... (1) Choose a jotto word with/for your class... and jotto, part 1 (2) Have you built software on your own with technologies not typically part of Mudd's curriculum? If not, no problem! If so, great! - please mention a detail or two: (3) Do you already have a plan (or an idea) for a CS189 project you might want to pursue? If so, what are you considering? (0) Name: ____________________________

23


Download ppt "Welcome to Programming Practicum You aren’t here writing clinic reports clinic liaison phone call coding chunky strings rebooting knuth (or turing or…)"

Similar presentations


Ads by Google