introduction to computer programming cs 126 lecture 1 zeke maier
TRANSCRIPT
![Page 1: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/1.jpg)
Introduction to Computer Programming
CS 126
Lecture 1
Zeke Maier
![Page 2: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/2.jpg)
Plan for Today
• Introduction
• Course Syllabus
• Course Calendar
• Questions?
• Programming Introduction
• Assignment
![Page 3: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/3.jpg)
Who am I
• 2nd year PhD student
• Computational Genomics research
• Sports geek on the side
• I write a lot of software– Worked as a Java
developer
![Page 4: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/4.jpg)
Course Website, Syllabus, & Calendar
• http://students.cec.wustl.edu/~ejm3/
• http://www.cse.wustl.edu
![Page 5: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/5.jpg)
Questions?
![Page 6: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/6.jpg)
What is Computer Science?
• Not so much a science in this class– No Scientific Method
• Key concept: problem-solving – Formulate a problem– Find a solution– Express the solution clearly
• Pattern Matching
![Page 7: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/7.jpg)
What is this course about?
• Solving computational problems through abstraction and decomposition. – Process: an activity– Computation: a process inside a computer– Procedure: a step-by-step description of a
process
• Volunteer?
![Page 8: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/8.jpg)
Abstraction
• A mechanism for hiding the details– Makes complex systems manageable– Allows us to model the world
• My Facebook page– What attributes are chosen to represent me?– Which attributes are abstracted away?
![Page 9: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/9.jpg)
Decomposition
• Breaking down a problem (system) into smaller sub-problems (components)– Find structure in the problem and determine
how components fit together in a solution– Allows for easier component modification and
reuse– What components are used in Facebook?
• ex: a profile component
![Page 10: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/10.jpg)
Software Systems
• Solving computational problems through abstraction and decomposition
• Solutions to problems in this class are software systems– A system has collections of communicating
components– Components will utilize abstraction to hide
details– Components will work together to complete
the computation
![Page 11: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier](https://reader033.vdocuments.mx/reader033/viewer/2022061507/5697bf891a28abf838c89c02/html5/thumbnails/11.jpg)
Assignment
• Course Census
• Readings– Wednesday
• AD Chapter 1• KG Notes