1 [oh dear! we need to update our graphic!] introduction to computer science fall 2009 tom horton
TRANSCRIPT
2
Welcome! Today’s Goals
Today’s Goals What is CS1110 all about?
– What is CS1111 and should I wait until Spring and take it? Course logistics
– See beginning of course memo for details– Course website using UVa Collab will have many more
details 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. Learn fundamental concepts in computation and how to use
them to solve important problems in engineering, science, and beyond.
Understand how designing and understanding programs can be creative, challenging, empowering, intellectually deep, and fun.
Specific Course Outcomes
Understand fundamentals of programming such as variables, conditional and iterative execution, methods, etc.
Understand fundamentals of object-oriented programming, including defining classes, invoking methods, using class libraries, etc.
Gain exposure to the important topics and principles of software development.
Have the ability to write computer programs to solve specified problems.
Be able to use a software development environment to create, debug, and run programs.
4
Is this Course All About Programming?
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: Understand fundamentals of programming such as variables, conditional
and iterative execution, methods, etc. Understand fundamentals of object-oriented programming, including
defining classes, invoking methods, using class libraries, etc. Gain exposure to the important topics and principles of software
development. [Maybe “computing” more broadly!] Have the ability to write computer programs to solve specified
problems. Be able to use a software development environment to create, debug, and
run programs.
5
6
Personnel
Instructors and Lectures. CS1110:
– Prof. Horton: MWF 2-2:50– and scheduled lab sections on Thur. and Fri.
CS1111: not this fall, sadly!Office Hours
Tom Horton: MW 3-4pm, and TR 1-2, Olsson 228B
Course Manager. TBD (a grad TA)
Other Teaching Assistants. Office hours in Thornton stacks. See webpage / Collab site for details and schedules.
Contacting Us, Electronic Resources
Online: http://collab.itc.virginia.edu then choose CS1110, Fall 2009– 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 e-mail.
Email: – Use forums for HW questions instead of email– Question on grades, assignments, labs, policy, etc.?• Send email to: [email protected] (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. Attend lectures. Do readings before class. Comprehend, don’t just do! But also do: practicing small Java exercises will help you! Budget lots of time. Do not underestimate. Visit course home page regularly.
Ask for help when you need it! Post at the course web site!
– We monitor the forums constantly. 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. [http://collab.itc.virginia.edu] Submit assignments, check grades. Interact with course staff. View programming assignments. Lecture notes.
Required readings. Sedgewick and Wayne. Intro to Programming in Java: An Interdisciplinary Approach.
Do readings before class Condensed textbook available online at
http://www.cs.princeton.edu/introcsbut NOT a sufficient substitute for the book
Additional online-only readings may be required
Older version of slides available before lecture;Feel free to print and annotate during lecture
12
Pair Programming: Fall 2009
Pair Programming Writing programs with a partner One program written, with each contributing in different ways
– Navigator vs. Driver. Role-swapping!Why?
Educational benefits: shown to improve learning Industrial experience: similar technique really used in SW shops
– Extreme ProgrammingMechanics (more coming in week 2)
New partners are assigned at the start of lab N Partners work together for labs N and N+1 Partners work together on HW due after lab N+1 Partner evaluate each other after turning in HW. Partners must be in same lab. Chosen based on certain criteria. 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) Work with an assigned partner for two labs (usually) Complete the next HW together Evaluate each other after submitting HW
Attendance Weekly attendance is required in your scheduled lab Penalty for missing labs: up to 10% of your grade!
– We’re not harsh for one or two missesExcused Absences
We’ll give instructions on what to do if you must miss a lab Allowances will be made for legitimate absences
Not yet in a lab? Explained in class…
14
Programming Assignments
Desiderata. Address an important scientific or commercial problem. Illustrate the importance of a fundamental CS concept.
Possible Examples. N-body simulation. Digital signal processing. DNA sequence alignment. Manipulating digital images. 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 scientificproblems from scratch!
Tools for Java Programming
Computing equipment. Your own computer. [OS X, Windows, Linux, … ] Public ITC computer. [Thornton Stacks (Windows)] Olsson 001 for CS1110 labs.
What you’ll need on your own computer. Java development environment from Sun DrJava IDE Some additional “Java libraries” from the textbook
All this is free! 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? After Exams 1 and 2, and also the last lab of the term.
Why? Test practical programming skills. Means less writing of long code on the written exams.
Logistics. Work done individually. Program must be submitted by end-of-lab. 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!) Discussing ideas on homeworks is OK. Looking at solutions (partial or completed code) is not allowed.
– Electronic sharing is clearly not allowed– Debugging someone else’s code is not allowed.
Getting someone else to write your code is an honor violation. Looking at or sharing solutions from students from previous
terms is a violation. If more collaboration is allowed for an assignment, that will be
clearly stated All assignments are pledged by default, whether we ask you to
write the pledge or not. We may use automated methods to find problems. 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? Separate “version” of CS1110 intended for students with at
least one semester of programming experience.CS1110
Assumes no programming experience Meets MWF Scheduled, timed labs separate from lecture
CS1111 Assumes programming experience Meets MW 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! Read through page 18 in textbook. Read the online lab description (watch for Collab
announcement)
Again Lab 0’s goal is to learn to create and run simple Java programs. Lab 0 is a gentle, get-your-feet wet activity. You do not have to install anything on your computer for Lab 0.
– But plan to do so afterwards.
END OF ADMINISTRATIVE STUFF