12
8/26/16 1 CSE 111 Bio: Program Design I Lecture 1: Introduc2on Tanya BergerWolf (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 (ChicagoKent Law School) Green (Bio themed): 2–3:15 pm, 120 TH. Team taught by Profs. Tanya BergerWolf (CS) and Boris Igic (BioS) Tradi-onal (media themed): 2–3:15 pm, 145 BSB. CS Prof. Pat Troy

CSE111Bio:ProgramDesignI$ Lecture&1:&Introduc2on& · 2016-08-26 · – It’s&unimedia$(Nicholas&Negroponte)$ ... Lec01Green Introduction.pptx Author: Tanya Created Date: 8/26/2016

Embed Size (px)

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.