1 [oh dear! we need to update our graphic!] introduction to computer science fall 2009 tom horton

20
1 [Oh dear! We need to update our graphic!] Introduction to Computer Science Fall 2009 Tom Horton

Upload: katherine-caldwell

Post on 03-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

1

[Oh dear! We need to update our graphic!]

Introduction to Computer ScienceFall 2009

Tom Horton

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

11

Collab Demo

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