Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

11
Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier

Transcript of Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

Page 1: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

Introduction to Computer Programming

CS 126

Lecture 1

Zeke Maier

Page 2: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

Plan for Today

• Introduction

• Course Syllabus

• Course Calendar

• Questions?

• Programming Introduction

• Assignment

Page 3: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

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.

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.

Questions?

Page 6: Introduction to Computer Programming CS 126 Lecture 1 Zeke Maier.

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.

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.

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.

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.

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.

Assignment

• Course Census

• Readings– Wednesday

• AD Chapter 1• KG Notes