COMS W1004 Introduction to Computer Science May 27, 2009 Teaching staff • Instructor: Chris Murphy – cmurphy@cs.columbia.edu – Office hours: Wed 3-5pm, 608 CEPSR • TA: Swapneel Sheth – swapneel@cs.columbia.edu – Office hours: Mon 11am-1pm, 608 CEPSR • TA: Suhas Prakash – sp2794@columbia.edu – Office hours: TBA You are here 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 properties 2. Their hardware realizations 3. Their linguistic realizations 4. 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.” Homework #1 • Do the following questions from S&G Third Edition: – Chapter 1: 7, 8, 9 – Chapter 2: 1, 10, 11, 21, 22, 23 • Research project proposal • Homework is due at the beginning of class on Monday, June 1! – Just a paper copy, not electronic