1.24k likes | 1.32k Views
Welcome to IS 313 !. Information Technology. We don't have strong enough words to describe this class. - US News and Course Report. When the course was over, I knew it was a good thing. an advocate of concrete computing. - New York Times Review of Courses. We give this course two thumbs!.
E N D
Welcome to IS 313 ! Information Technology We don't have strong enough words to describe this class. - US News and Course Report When the course was over, I knew it was a good thing. an advocate of concrete computing - New York Times Review of Courses We give this course two thumbs! - Ebert and Roeper
About myself Who Zach Dodds Where Harvey Mudd College What Research includes robotics and computer vision When Mondays 4-7 pm here in ACB 108 dodds@cs.hmc.edu 909-607-1813 Office Hours: Contact Information Friday afternoons, 2-4 pm or set up a time... HMC Olin 1255
TMI? fan of low-tech games fan of low-level AI
“Quiz” take a movie of yourself saying your name & where you're from • Name • Preferred email • A place you consider home • Your favorite _____ is _____. • Your least favorite _____ is _____. • Are you working at a company now? • Do you use computer programming? Where? How/what?
“Quiz” • Name • Preferred email • A place you consider home • Your favorite _____ is _____. • Your least favorite _____ is _____. • Are you working at a company now? • Do you use computer programming? Zachary Dodds dodds@cs.hmc.edu Pittsburgh, PA Burn Notice drama coffee decaffeinated Where? Harvey Mudd How/what? java/C++/python
IS 313 What? Why?
IS 313 What? Why? CS for IS all of CS in one semester! CS == Computer Science
IS 313 What? Why? IS is about bridging and leveraging technologies CS for IS all of CS in one semester! but what is CS ? Credit Suisse? Counter-Strike C10H5ClN2 : CS gas CompuServe Computer Science Cultural Survival CS? Hmmm Let me check Google…
CS != programming programming : CS ::
CS != programming programming : CS :: "not equal to"
CS != programming programming : CS :: bookkeeping : business grammar : literature Programming equations : mathematics CS unicycling : HMC a vehicle, not a destination
CS ==complexity science Study of complexity How can it be done? How well can it be done? Can it be done at all? "is equal to" What's it ?
CS == complexity science Study of complexity How can it be done? How well can it be done? Can it be done at all? What's it ? Information
Information Study of complexity How can it be done? How well can it be done? Can it be done at all? "Make3d" Andrew Ng ~ Computers and Thought award, 2009 What information is being transformed here?
What Google thinks I look like First 4 Google Image hits (8/29/10) for a search of "Zach Dodds HMC"
What Google thinks I look like First 4 Google Image hits (8/29/10) for a search of "Zach Dodds HMC"
What Google thinks I look like First Google Image hit (8/30/09) for a search of "Zach Dodds" Images are difficult!
Information Study of complexity How can it be done? How well can it be done? Can it be done at all? What information is being tracked here? The N-body problem: lots of interactions!
Information Study of complexity How can it be done? How well can it be done? Can it be done at all? http://www.youtube.com/watch?v=fvBO3TqJ6FE Protein Folding Information: sequence and pose of amino acids The 3d structure of a protein is completely determined by its 1d amino acid sequence. Understanding this sequence-structure relationship has been referred to as the "second half of the genetic code."
CS Research ? my own…
Why CS ? Information is our fundamental building block. Genetic Code: DNA Our senses and experiences GTAGCACAITTAGC… More coffee required… us CS is a set of fundamental techniques for understanding and leveraging this information… “constructing with”
CS’s motto ? print'hv', print'dcle\naemdoe' print'ryu', print'lg!' print 'whtvo\na', print 'eub\neraeo' print 'yraoo\negdne' details are temporary… …but CS thinking isn’t !
CS vs. IS and IT ? greater integration system-wide issues smaller details machine specifics www.acm.org/education/curric_vols/CC2005_Final_Report2.pdf
CS vs. IS and IT ? Where will IS go?
IT ? Where will IT go?
Why IS313 ? looking to manage, analyze, engineer, lead, innovate at the next Google / Facebook / OnLive … withoutprogramming or computer science ? Yes, if you’re retired No, if you’re not… Intuition about all the details you’ll be organizing, managing, and/or using will make you more effective at all of the above.
Course Details Web Page: http://www.cs.hmc.edu/~dodds/IS313 Assignments, online text, necessary files, lecture slides are linked First week’s assignment: Starting with Python and Picobot CS 5 website http://www.cs.hmc.edu/twiki/bin/view/CS5 How to think like a computer scientist Textbooks! optional and online greenteapress.com/thinkpython/ Programs: python and IDLE www.python.org Try installing v2.7 now…!
Try it… Go to the course page http://www.cs.hmc.edu/~dodds/IS313/ Click on the HW page Install Python 2.7 get & run the file hw0pr1.py F5 runs!
Homework Assignments ~ 2-5 problems/week ~ 100 points extra credit available Due Tuesday of the following week (anytime) - or by 11:59 pm. Assignment 1 due Tuesday, September 14. 1 week + 1 day… No class next Monday, September 6: Labor Day
Homework Assignments ~ 2-5 problems/week ~ 100 points extra credit available Due Tuesday of the following week (anytime) - or by 11:59 pm. Assignment 1 due Tuesday, September 14. Problems may be done in groups of 2-3. Working on programs: Divide the work at the keyboard evenly! Submitting programs: at the submission website install software Python & ensure accounts are working Today's Lab: try out Python - the HW is officially due on 9/14
Grading Grades if score >= 0.95: grade = “A” if score >= 0.90: grade = “A-” if score >= 0.60: grade = “P” Based on points percentage ~ 900 points for assignments see the 313 syllabus for the full list... Exams Final Exam/Project at the end of the semester. ~ 300 points for the final exam • the last 2-3 weeks will work towards a larger, final project (this is the "exam") • there will be a short design phase and a short final presentation • I'd encourage you to connect Python to other information technology that you use/need/like, etc.
Resources Instructor Office: Harvey Mudd’s Olin 1255 Zach Dodds Phone: x71813 (909-607-1813) Email: dodds@cs.hmc.edu Official Office Hours: F 2-4 pm or email Harvey Mudd in Linde Activities Center • Lecture is offered TTh from 9:35-10:50 am or 1:15-2:30 pm • IS 313 is similarto (but not identical to) CS 5 at Harvey Mudd http://www.cs.hmc.edu/twiki/bin/view/CS5 • CS 5 == IS 313 is not quite true… Other Students • consulting with others (except team members or myself) is encouraged, but has to be limited to discussion of problems. Sharing of written, electronic, or verbal solutions/files/code is a violation of CGU’s academic honesty policy.
Resources Instructor Office: Harvey Mudd’s Olin 1255 Zach Dodds Phone: x71813 (909-607-1813) Email: dodds@cs.hmc.edu Official Office Hours: F 2-4 pm or email Harvey Mudd in Linde Activities Center • Lecture is offered TTh from 9:35-10:50 am or 1:15-2:30 pm • IS 313 is similarto (but not identical to) CS 5 at Harvey Mudd http://www.cs.hmc.edu/twiki/bin/view/CS5 • CS 5 == IS 313 for the purposes of many websites, documents, etc. "is equal to" Other Students • consulting with others (except team members or myself) is encouraged, but has to be limited to discussion of problems. Sharing of written, electronic, or verbal solutions/files/code is a violation of CGU’s academic honesty policy.
Programming… ?! Information Technology We don't have strong enough words to describe this class. - US News and Course Report When the course was over, I knew it was a good thing. an advocate of concrete computing - New York Times Review of Courses We give this course two thumbs! - Ebert and Roeper
Programming… ?! Information Technology an advocate of concrete computing Computer Psychology
Not the goal… a = ['print "a =", a', 'for s in a: print s'] print "a =", a for s in a: print s knowing crazy coding details… ouch!
Goals a = ['print "a =", a', 'for s in a: print s'] print "a =", a for s in a: print s ENIAC, UPenn, 1945 ouch! thinking like a machine
What is programming ? Programming as recipe-writing vs. Programming as learning a foreign language
What is programming ? Programming as recipe-writing vs. Programming as learning a foreign language Baggage ! 1) Expect it to be different! 2) Don’t feel you need to memorize it 3) Immersion == Experimentation
Python and IDLE Editor window: code Shell window: running code Here, you can save and change programs. Hitting F5 runs your program over in the shell Here, you can try things out at the command prompt >>>
The foreign language of python… name = raw_input('Hi... what is your name?') print# prints a blank line if name == 'Z' or 'Ran': # is it Z or Ran? print'Um, I\'m "offline." Try later.' elif name == 'Zach': # is it Zach? print"But I wanted to meet Cody!" else: # in all other cases... print'Welcome', name, '!' my_choice = random.choice( [ 'R','P','S' ] ) print'My favorite object is', my_choice, "!" hw0pr1.py Homework 0, problem 1
What is programming ? Programming as recipe-writing vs. Programming as learning a foreign language Baggage ! 1) Expect it to be different! 2) Don’t feel you need to memorize it 3) Immersion == Experimentation
The foreign language of python… syntax? semantics? intent? How it looks What it does What it should do name = raw_input('Hi... what is your name?') print# prints a blank line if name == 'Z' or 'Ran': # is it Z or Ran? print'Um, I\'m "offline." Try later.' elif name == 'Zach': # is it Zach? print"But I wanted to meet Cody!" else: # in all other cases... print'Welcome', name, '!' my_choice = random.choice( [ 'R','P','S' ] ) print'My favorite object is', my_choice, "!"
'Zach' ‘Z’ or ‘Ran’ Zach Z or Ran 'Chris' Chris Zach What about me?
The foreign language of python… syntax? semantics? intent? How it looks What it does What it should do • how punctuation is used • the language keywords that are used • use of whitespace • peculiarities of formatting • how behavior is affected … www.theonion.com Syntax
How Python looks… name = raw_input('Hi... what is your name?') print# prints a blank line if name == 'Z' or 'Ran': # is it Z or Ran? print'Um, I\'m "offline." Try later.' elif name == 'Zach': # is it Zach? print"But I wanted to meet Cody!" else: # in all other cases... print'Welcome', name, '!' my_choice = random.choice( [ 'R','P','S' ] ) print'My favorite object is', my_choice, "!"