View
217
Download
2
Tags:
Embed Size (px)
Citation preview
Teaching staff
• Instructor: Chris Murphy– [email protected]– Office hours: Wed 3-5pm, 608 CEPSR
• TA: Swapneel Sheth – [email protected]– Office hours: Mon 11am-1pm, 608 CEPSR
• TA: Suhas Prakash – [email protected]– Office hours: TBA
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: – knowledge of the fundamental concepts in computer
science – algorithmic program-solving capabilities – fundamental Java programming skills
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
• Go to http://uni.columbia.edu if you have trouble logging in to CourseWorks
Grading
• Homeworks: 50%
• Final exam: 35%
• Research project: 15%
• These are “guidelines” for the final grade
Homeworks
• There will be five homework assignments
• Each homework (generally) has two parts:– Theory– Programming
• Homeworks will be posted on the course homepage and announced in class
Exams
• An in-class final exam will be held on the last day of class: Wednesday, July 1
• Exam covers material from readings and lectures (so come to class!)
Textbooks
• Schneider & Gersting Invitation to Computer Science, Java Version, Third Edition
• Cay Horstmann Big Java, Third Edition
• Both available at CU Bookstore or online
Syllabus
• The course covers approx. 50% Java programming basics and 50% computer science theory
• Check the course homepage for assigned readings for each lecture
• The syllabus is always “tentative” but we’ll generally follow what’s there now
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?
• Reading: S&G 1-2, 15
• Next lecture: THIS Friday!
What is Computer Science?
“The study of algorithms, including:1. Their formal and mathematical properties2. Their hardware realizations3. Their linguistic realizations4. Their applications”-Schneider & Gersting, p.4
Computer Science is NOT (just) programming!
Research Project
• You will research a topic of your choosing that relates to either:– how computer science can be used to address
real-world problems, or– the social impact of computing
• You will then present your findings to the class in a very brief presentation later on in the course
CS and Social Problems
TECHNOLOGIES• Mobile computing
(handheld devices, embedded devices, etc.)
• Bioinformatics• Ubiquitous computing
(sensors, recording devices, etc.)
• Social networking• Augmented/virtual reality• Machine learning• Robotics
DOMAINS• National security• Personal security/safety• Medicine & disease control• Social welfare and equality• Environmental issues
(climate change, extinction, pollution, etc.)
• Distribution of wealth/goods/information
• Energy & natural resources
Computing and Society
• Digital media and IPR (Napster)
• Encryption algorithms and national security (PGP)
• Hackers and network security
• Online anonymity: good or bad?
• Medical research and privacy
Proposal
• As part of your Homework #1 submission, briefly outline 1-2 topics you would be interested in researching
• For example:– “I am very interested in recycling. I would like to
investigate how embedded devices in products can increase the percentage that get recycled in a given household.”