Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

Post on 17-Jan-2016

269 views 0 download

Tags:

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