Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.
-
Upload
julianna-day -
Category
Documents
-
view
263 -
download
0
Transcript of Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.
Introduction to Computer Programming
CS 126
Lecture 1
Zeke Maier
Plan for Today
• Introduction
• Course Syllabus
• Course Calendar
• Questions?
• Programming Introduction
• Assignment
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
Course Website, Syllabus, & Calendar
• http://students.cec.wustl.edu/~ejm3/
• http://www.cse.wustl.edu
Questions?
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
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?
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?
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
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
Assignment
• Course Census
• Readings– Wednesday
• AD Chapter 1• KG Notes