COMS W1004 Introduction to Computer Science

Download Report

Transcript COMS W1004 Introduction to Computer Science

COMS W1004
Introduction to Computer Science
May 28, 2008
Teaching staff
• Instructor: Chris Murphy
– [email protected]
– Office hours: Mon 3-5pm, 608 CEPSR
• TA: Aditi Rajoriya
– [email protected]
– Office hours: Tue/Thu 7:30-8:30pm, 122 Mudd
• Office hours start next week (June 2)
About the course
• This course is an introduction to computer
science for computer science and other science
and engineering majors having little or no prior
programming experience.
• The goals of this course are to teach students:
– fundamental Java programming skills
– knowledge of the fundamental concepts in computer
science
– algorithmic program-solving capabilities
Course homepage
http://www.cs.columbia.edu/~cmurphy/1004
• Please check the course homepage
frequently for important announcements
and changes to the reading assignments
CourseWorks
http://courseworks.columbia.edu/
• Check the “Discussion” section for
questions related to the homeworks
• Check the “Gradebook” to make sure our
records match your own
Grading
• Homeworks: 60%
• Final exam: 40%
• These are “guidelines” for the final grade
Homeworks
• There will be four homework assignments
• Each homework has two parts:
– Theory
– Programming
• Homeworks will be posted on the course
homepage and in CourseWorks
Exams
• An in-class final exam will be held on the
last day of class: Wednesday, July 2
• Exam covers material from readings and
lectures (so come to class!)
Textbooks
• Schneider & Gersting
Invitation to Computer Science, Java
Version, Third Edition
• Lewis & Loftus
Java Software Solutions: Foundations of
Program Design, Fifth Edition
• Both available at CU Bookstore or online
CUNIX
• You will need a login account to access
Columbia’s computing environment
(CUNIX)
• Columbia students: It is the same one you
use to get your Columbia email, etc.
• If you don’t have a UNI or don’t know what
yours is, go to http://uni.columbia.edu
Syllabus
• The course covers approx. 50% Java
programming basics and 50% computer
science theory
• Check the course homepage for assigned
readings for each lecture
Academic honesty
• Please familiarize yourself with the Computer
Science Department’s policy:
http://www.cs.columbia.edu/education/honesty
• It is YOUR responsibility to read and adhere to
the policy
Today
•
•
•
•
What is computer science?
What is an algorithm?
Examples of algorithms
Expressing algorithms
• Reading: S&G 1-2
• Next lecture: THIS Friday!
What is Computer Science?
“The study of algorithms, including:
1. Their formal and mathematical properties
2. Their hardware realizations
3. Their linguistic realizations
4. Their applications”
-Schneider & Gersting, p.4
Computer Science is NOT (just) programming!
What is an Algorithm?
“A procedure for solving a mathematical problem in
a finite number of steps that frequently involves
repetition of an operation; broadly: a step-bystep method for accomplishing some task.”
-Schneider & Gersting, p. 5
“A well-ordered collection of unambiguous and
effectively computable operations that, when
executed, produces a result and halts in a finite
amount of time.”
-Schneider & Gersting, p.10
Theory Homework #1
• Do the following questions from S&G
Third Edition:
– Chapter 1: 7, 9
– Chapter 2: 1, 10, 11, 21, 23
• Homework is due at the beginning of
class on June 4!
– Just a paper copy, not electronic