Introduction to Computational Problem-Solving Course
110 likes | 205 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.
Introduction to Computational Problem-Solving Course
E N D
Presentation Transcript
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