1 [Oh dear! We need to update our graphic!] Introduction to Computer Science Fall 2009 Tom Horton
2 Welcome! Today’s Goals Today’s Goals n What is CS1110 all about? – What is CS1111 and should I wait until Spring and take it? n Course logistics – See beginning of course memo for details – Course website using UVa Collab will have many more details n Get you ready for Lab 0 this week (CS1110 students only) – Read textbook through page 18 before lab – Lab 0 will go over that material – Lab 0 is a gentle, get-your-feet wet activity (so don’t panic!)
3 Overview Course Goals. n Learn fundamental concepts in computation and how to use them to solve important problems in engineering, science, and beyond. n Understand how designing and understanding programs can be creative, challenging, empowering, intellectually deep, and fun.
Specific Course Outcomes n Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc. n Understand fundamentals of object-oriented programming, including defining classes, invoking methods, using class libraries, etc. n Gain exposure to the important topics and principles of software development. n Have the ability to write computer programs to solve specified problems. n Be able to use a software development environment to create, debug, and run programs. 4
Is this Course All About Programming? n We don’t want it to be about that completely! – See highlighted text in outcomes below. – Exams will not just be about coding. Questions on ideas and principles too! – Computing in context of engineering, science, math, society,…. Course outcomes listed earlier: n Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc. n Understand fundamentals of object-oriented programming, including defining classes, invoking methods, using class libraries, etc. n Gain exposure to the important topics and principles of software development. [Maybe “computing” more broadly!] n Have the ability to write computer programs to solve specified problems. n Be able to use a software development environment to create, debug, and run programs. 5
6 Personnel Instructors and Lectures. n CS1110: – Prof. Horton: MWF 2-2:50 – and scheduled lab sections on Thur. and Fri. n CS1111: not this fall, sadly! Office Hours n Tom Horton: MW 3-4pm, and TR 1-2, Olsson 228B Course Manager. n TBD (a grad TA) Other Teaching Assistants. n Office hours in Thornton stacks. n See webpage / Collab site for details and schedules.
Contacting Us, Electronic Resources n Online: then choose CS1110, Fall 2009http://collab.itc.virginia.edu – All students enrolled should see this course and have access – Labs, assignments, announcements, forums, FAQs – Important: see forums for discussing assignments – All TAs read the forums, so this is vastly better than . n – Use forums for HW questions instead of – Question on grades, assignments, labs, policy, etc.? Send to: (Note: not cs1110) NOT your instructor Problem or issue regarding you that couldn’t be answered by staff but only professor? horton.uva(at)gmail.com 7
8 Survival Guide Keep up with the course material. n Attend lectures. n Do readings before class. n Comprehend, don’t just do! n But also do: practicing small Java exercises will help you! n Budget lots of time. Do not underestimate. n Visit course home page regularly. Ask for help when you need it! n Post at the course web site! – We monitor the forums constantly. n Office hours (schedule on web page) – TA office hours in Thornton Stacks – Instructor office hours in Olsson
9 Grades Course grades. No preset curve or quota. At most 6 pair programming assignments. 40% At most 3 individual, in-lab programming quizzes. 10% Exam 1: 15%, Weds., Sept. 30 (subject to change) Exam 2: 15%, Weds., Nov. 4 (subject to change) Exam 3: During final exam period: Sat., Dec. 12, 2pm Worth 20%. About one-third may be on material from Exams 1 and 2. Extra credit at staff discretion. Also, how we adjust borderline cases.
10 Course Materials Course website. [ collab.itc.virginia.edu ] n Submit assignments, check grades. n Interact with course staff. n View programming assignments. n Lecture notes. Required readings. Sedgewick and Wayne. Intro to Programming in Java: An Interdisciplinary Approach. n Do readings before class n Condensed textbook available online at but NOT a sufficient substitute for the book n Additional online-only readings may be required Older version of slides available before lecture; Feel free to print and annotate during lecture
11 Collab Demo
12 Pair Programming: Fall 2009 Pair Programming n Writing programs with a partner n One program written, with each contributing in different ways – Navigator vs. Driver. Role-swapping! Why? n Educational benefits: shown to improve learning n Industrial experience: similar technique really used in SW shops – Extreme Programming Mechanics (more coming in week 2) n New partners are assigned at the start of lab N n Partners work together for labs N and N+1 n Partners work together on HW due after lab N+1 n Partner evaluate each other after turning in HW. n Partners must be in same lab. n Chosen based on certain criteria. n You can name up to three people you don’t want to work with!
13 Lab Sections (CS1110 only) Pair Programming (starting with second lab) n Work with an assigned partner for two labs (usually) n Complete the next HW together n Evaluate each other after submitting HW Attendance n Weekly attendance is required in your scheduled lab n Penalty for missing labs: up to 10% of your grade! – We’re not harsh for one or two misses Excused Absences n We’ll give instructions on what to do if you must miss a lab n Allowances will be made for legitimate absences Not yet in a lab? n Explained in class…
14 Programming Assignments Desiderata. n Address an important scientific or commercial problem. n Illustrate the importance of a fundamental CS concept. Possible Examples. n N-body simulation. n Digital signal processing. n DNA sequence alignment. n Manipulating digital images. n Analyzing large data sets. Due. On Weds. Nights about midnight. You usually have two weeks for each. Important: late assignments are not accepted! Plan ahead. Pay attention to honor policy and collaboration policies. Pair programming with your partner from the previous two labs. you solve scientific problems from scratch!
Tools for Java Programming Computing equipment. n Your own computer. [OS X, Windows, Linux, … ] n Public ITC computer. [Thornton Stacks (Windows)] n Olsson 001 for CS1110 labs. What you’ll need on your own computer. n Java development environment from Sun n DrJava IDE n Some additional “Java libraries” from the textbook n All this is free! n Instructions on what to download and how to install it will be on the Collab site and discussed in Lab 0 15
16 In-lab Programming Quizzes When and How Often? n After Exams 1 and 2, and also the last lab of the term. Why? n Test practical programming skills. n Means less writing of long code on the written exams. Logistics. n Work done individually. n Program must be submitted by end-of-lab. n Timed exercise: lab is 75 minutes long.
Honor Policy Read BOCM carefully! We regularly have problems in CS1110. We catch them. We deal with them. Do the right thing. 17
18 Honor Policy Details See BOCM for details. (You must read this in the BOCM!) n Discussing ideas on homeworks is OK. n Looking at solutions (partial or completed code) is not allowed. – Electronic sharing is clearly not allowed – Debugging someone else’s code is not allowed. n Getting someone else to write your code is an honor violation. n Looking at or sharing solutions from students from previous terms is a violation. n If more collaboration is allowed for an assignment, that will be clearly stated n All assignments are pledged by default, whether we ask you to write the pledge or not. n We may use automated methods to find problems. n We may report violations to the Honor Committee. We may ask students to leave the course. We may reduce assignment or course grades.
19 Are You In the Right Class? What is CS 1111? n Separate “version” of CS1110 intended for students with at least one semester of programming experience. CS1110 n Assumes no programming experience n Meets MWF n Scheduled, timed labs separate from lecture CS1111 n Assumes programming experience n Meets MW n Same lab quizzes, but do them on your own Lecture materials are the same! Assignments are the same! Exams are the same! Grading is the same!
20 Lab 0 Do before first lab! n Read through page 18 in textbook. n Read the online lab description (watch for Collab announcement) Again n Lab 0’s goal is to learn to create and run simple Java programs. n Lab 0 is a gentle, get-your-feet wet activity. n You do not have to install anything on your computer for Lab 0. – But plan to do so afterwards. END OF ADMINISTRATIVE STUFF