110 likes | 198 Views
Join this course for a hands-on introduction to computer programming with focus on problem-solving techniques through abstraction and decomposition. Learn to formulate, express, and solve problems using patterns and structures. Gain insight into software systems and component modification for efficient solutions.
E N D
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
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