View
213
Download
0
Category
Preview:
Citation preview
8/26/16
1
CSE 111 Bio: Program Design I Lecture 1: Introduc2on
Tanya Berger-‐Wolf (CS) & Boris Igić (Bio) University of Illinois, Chicago
August 23, 2016 FIRST: WHICH COMPUTER SCIENCE CLASS?
Randall Munroe, XKCD, hPp://xkcd.com/863/
UIC CS Classes
• CS 100, Discovering Computer Science: – CS for fun, no credit if in College of Engineering
• CS 111, Program Design I (This course!) – Students with li#le to no programming experience who • Are CS majors or minors, or CoE students planning to use CS 111–141, or any student wanLng to learn more
• Now in three flavors! (This is the “bio” flavor) • CS 141, Program Design II : If you already have programming experience
3 Versions of CS 111
• Law Themed: 11–12:15 am, 120 TH – Team taught by Profs. Robert Sloan (UIC CS) and Richard Warner (Chicago-‐Kent Law School)
• Green (Bio themed): 2–3:15 pm, 120 TH. – Team taught by Profs. Tanya Berger-‐Wolf (CS) and Boris Igic (BioS)
• Tradi-onal (media themed): 2–3:15 pm, 145 BSB. – CS Prof. Pat Troy
8/26/16
2
What will everybody do in CS 111?
• Learn the basics of programming in Python – Very popular programming language, commonly used
– Easy to read and understand – More about “Why Python” soon
• And…
One of (based on sec2on)
• Use media computa2on – Draw pictures, manipulate images, manipulate sound files
• Solve biological problems (learn some biology) – e.g., DNA analysis, finding genes, cell func2on
• Inves2gate legal and privacy issues – e.g., build heat maps of Chicago gun crime hot spots and discuss Chicago’s predic2ve policing
What if I already have programming experience?
CS 111 Proficiency Exam: • Wednesday, August 24, 9am in room 1000 SEO Sign up at bit.ly/cs111exam (but can show up)
• Write a single, complete program using pencil and paper
• Language should be “C-‐deriva2ve” (Python, C, C++, Java, PHP, etc.)
• Should show you understand: Variables, loops, if statements, arrays (or perhaps lists if Python), func2on calls
NEXT: SOME BORING SYLLABUS STUFF
8/26/16
3
Instructors: Tanya Berger-‐Wolf & Boris Igic
• Berger-‐Wolf: UIC CS Prof. – Research: Computa2onal Ecology, works with biologists interested in social behavior, algorithms & data mining tools, social network analysis.
– IBEIS.org: system that uses images of animals to track, count, study
• Igic: UIC BioS Prof. – Research: Plant evolu2onary biology
Office Hours
Berger-‐Wolf • SEO 1136 • Tue 5-‐6:30 • And by appointment
Igic • UH cafe • Thu 5:30-‐6:30 • And by appointment
TA
TBA
Labs: Mon 1-‐1:50pm, 2-‐2:50pm Office hours: TBA
Piazza!
Everything is on some website
• Blackboard: grades, assignments blackboard.uic.edu
• Course website: Syllabus, schedule, readings, lecture slides www.cs.uic.edu/CS111Green
• Piazza: Forum (more next slide)
8/26/16
4
Use Piazza instead of emailing piazza.com/uic/fall2016/cs111green/home • For public ques2ons (lab and project ques2ons) – Your classmates benefit from your ques2ons – Your classmates can answer your ques2ons – I will check the forum frequently
• For personal ques2ons (grades) – Can ask ques2ons to instructors only – Means any of us (Profs & TAs) can answer your ques2on
– All CS 111 communica2on is in one place
Clickers!
• Lets you vote on mul2ple choice ques2ons in real 2me.
• Like pub trivia, except the subject is always CS 111
• Register on blackboard before next class!
Lecture: Par2ally Peer Instruc2on
• Pose carefully designed ques2on – Solo vote: Think for yourself and select answer – Discuss: Analyze problem in small teams • Prac2ce analyzing, talking about challenging concepts • Reach consensus • If you have ques2ons, raise your hand and I will come over
– Class wide discussion: • Led by YOU (students) – tell us what you talked about in discussion that everyone should know!
Why Peer Instruc2on?
• You get to make sure you are following the lecture.
• I get feedback as to what you understand.
• It’s less boring!
• Research shows it promotes more learning than standard lecture.
8/26/16
5
Discussion Groups
• Three people each • Ad hoc for first few classes un2l enrollment sePles
• Will likely assign groups for 5th or 6th class onward
Discussion E2quePe
• It’s okay to not know things – If you already know everything, you’re was2ng your 2me
• It’s not a compe22on
Example: The best dinosaur is:
A. T-‐rex B. Raptor
C. Triceratops D. Stegosaurus
E. Some other dinosaur/ No clue
Doing The Reading Means
• You do the “easy” part before class. – Read it and analyze for YOURSELF! – If I rephrase it for you, what purpose does that serve?
• Tradi2onal class structures oren look like:
• You get very liPle opportunity for “expert” feedback
First Exposure
Lecture Textbook
Read Hard Stuff
Assignment
See if You Know Hard Stuff
Exam
Show Knowledge Mastery
8/26/16
6
Ac2ve Learning
• Greater opportunity for expert feedback! • Research on how people learn: – Everyone constructs their own understanding
• I can’t dump understanding into your brain – To learn, YOU must ac2vely work with a problem and construct your own understanding of it
Textbook Lecture Assignment Exam
Show Knowledge Mastery
First Exposure: With resources and
Feedback
Learn Hard Stuff: With teacher and
discussion
Prac2ce Knowledge Mastery
Does this mean I have to show up to class?
• Yes
• Will not penalize anybody missing during first few classes and will drop your lowest 3 class par2cipa2on scores
Register your clicker online so we can give you points
• In Blackboard, on the side of the course page
• Your votes will be saved before you register, just not associated with you
This class uses
Python
24 Randall Munroe, XKCD hPp://xkcd.com/353/
8/26/16
7
Course Textbook
CompuLng for Biologists Python Programming and Principles Ran Libeskind-‐Hadas, Eliot Bush (Harvey Mudd College) Paperback ISBN: 9781107642188
Op2onal books
• How to Think Like a Computer Scien-st: Interac-ve Edi-on, online, free: hPp://interac2ve.org/runestone/sta2c/thinkcspy/index.html – Covers introduc2on to Python programming
• For those who like books you can try either of: – Lubanovic, Introducing Python: Modern Compu-ng in Simple Packages (UIC has 4 electronic copies available through Safari)
– Zelle, Python Programming: An Introduc-on to Computer Science (either 2nd or 3rd edi2on, 3rd edi2on is supposed to be out approximately today)
26
Grading
Subject to change at any -me for any reason • Labs (20%) – Drop 3 lowest grades
• Lab Quizzes (5%) – Drop 2 lowest grades
• Programming Projects x 3 (25%) • Midterm x 2 (20%) • Final Exam (20%) • Class par2cipa2on, i.e. clickers (10%)
Grading Part 2
• You must have a passing grade on the exam parts (combined midterms and finals) to pass the course
• You must have a passing grade on the combined programming projects to pass the course
28
8/26/16
8
Weekly Lab Assignments • Give you a chance to prac2ce what we’re learning, with TAs to answer ques2ons and help you out
• Short weekly lab assignment, put up Monday morning, work on it in lab Monday, due Wednesday by midnight
• You should be able to complete most of it in lab
• Submit via blackboard
Weekly Lab Quizzes
• Quick (2-‐3 ques2on) review of what we’ve been covering in class
• You must be in lab to do the lab quiz
• On blackboard, solu2ons will be available on the day following lab
Programming Assignments
• Longer assignments that give you the chance to put together what we have learned in a crea2ve way
• Give you prac2ce crea2ng a longer program
Programming Project Late Policy
• You have two late days that will be automa2cally applied if your lab is late. No work will be accepted more than 2 days late.
• To use a late day, you must fill out the late days form on blackboard before the assignment is due
• The sooner you turn in the work, the sooner we can grade it and get it back to you
8/26/16
9
Collabora2on Policy • Please do – Post on the forum – Talk with classmates about assignments
• Please don’t – Copy someone’s code – Show someone else your code
• Good rule of thumb: Wait half an hour arer discussing, write code/do problem
Welcome to UIC CS
• CS Student Affairs Office (905 SEO) – Visit with any ques2ons. If they can’t answer, they can tell you who can.
• Director of Undergraduate Studies – Joe Hummel (908 SEO)
34
Ques2ons?
• All of this info on class website
How to Ace This Class
• Do the reading • APend class and par2cipate in discussion • Start programming projects early • Go to lab sec2on and ask ques2ons • If you get stuck, post on piazza or come to office hours
• Have fun!
8/26/16
10
For Next Class
• Register for Piazza
• Register your clicker on blackboard
• Fill out discussion group info form FINALLY: WHAT IS COMPUTER SCIENCE?
Randall Munroe, XKCD, hPp://xkcd.com/1425/
What is computer science?
• Biology = study of living things • Chemistry = study of structure and composi2on of maPer
• What is computer science the study of? • Computer Science ≠ study of computers! • Computer Science is the study of: – Processes ≈ Algorithms ≈ Programs ≈ Recipes – What is doable using computa2on and how
Some Pioneers’ 1967 Vision of CS
“The theory and design of computers, as well as
the study of all the phenomena arising from them”
Allen Newell, Alan Perlis, Herb Simon, Science, 1967 Only really big difference today: Design of computers is its own field: Computer Engineering
8/26/16
11
CS’s Disciplinary Roots today
– 4 –! CMU CS!
CS’s Disciplinary Roots"Statistics"
Computational"Biology"
Learning"Science"
Human-"Computer"Interaction"
Software"Engineering"
Robotics"
Computer"Systems"
Programming"Languages"
Algorithms"
Natural"Language"
Biology"
Psychology"
Mechanical"Eng."Biomed."
Eng."
Computer"Eng."
Math"
Operations"Research"
Machine"Learning"
Social!Sciences!
Natural!Sciences!
Engineering!
Additional connections to arts & entertainment, business, public policy, …"
Philosophy"
Linguistics"
Addi2onal connec2ons to digital media, law & public policy, business, the arts….
What about programming?
• Computer science ≠ programming! • But scien2sts, lawyers, business execu2ves, computer scien2sts, etc., all study wri2ng to communicate for at least 13 years
• Programming is other main way computer scien2sts communicate; requires extensive study
• Computer scien2st -‐> programmer Composer -‐> musician
What’s computa2on good for
• Computer science is the study of recipes • Computer scien2sts study… – How the recipes are wriPen (algorithms, sorware engineering)
– The units used in the recipes (data structures, databases)
– What can recipes be wriPen for (systems, intelligent systems, theory)
– How well the recipes work (human-‐computer interfaces)
Key concept: The COMPUTER does the recipe!
• Make it as hard, tedious, complex as you want!
• Crank through a million genomes? No problem!
• Look through 100,000 documents in a lawsuit to pick out the 17 or the 42,000 containing a par2cular phrase? Easy-‐peasy! – (What the cs111 law course will do)
• Find one person in a 30,000 student campus? Yawn!
• Process a million dots on the screen or a bazillion sound samples? – (What the media computa2on course will do)
8/26/16
12
What computers understand • It’s not text, numbers, mul2media at all. – It’s unimedia (Nicholas Negroponte) – Everything is 0’s and 1’s
• Computers are exceedingly stupid – The only data they understand is 0’s and 1’s – They can only do the most simple things with those 0’s and 1’s • Move this value here • Add, mul2ply, subtract, divide these values • Compare these values, and if one is less than the other, go follow this step rather than that one.
Recommended