© peter andreae introduction to computer program design comp 102 2011 t1. peter andreae (...

26
© Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1 . Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

Upload: harry-todd

Post on 18-Dec-2015

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

Introduction to Computer Program Design

COMP 102 2011 T1 .

Peter Andreae( “Pondy” )

Computer Science

Victoria University of Wellington

Page 2: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:2

COMP 102

Menu:• What is COMP102 about?

• Where does COMP102 fit in your degree?

• Course organisation

• What to do NOW!

Administrivia:Handouts: • Course Outline• Lab Assignment 1

Page 3: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:3

Computers are everywhere

• Computer based systems are everywhere• user application programs – browsers, photo editors, chat

programs,…• computer games• Information systems in commerce and business• Specialised applications – analysing gene data, X-rays,

simulations• controllers for device – cars, washing machines, TVs, DVD

player, etc• operating systems that run computers, cell phones, etc.• network communication: internet connections, phone

exchanges, fibre optics, cell phone systems, etc

• All these systems require software to make the computer hardware do what is needed.

⇒ Software underlies almost all aspects of modern life

Page 4: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:4

COMP102 is about Programming• Programming is about designing, building, testing,

modifying software.• Software = instructions to make the hardware run. • Programming is giving instructions to a computer

– very precise, can be very complex• Requires a different way of thinking from most disciplines

• Computer Science and Software Engineering are unusual:• Does not deal with physical stuff• Deals with the abstract stuff of information and data• Design is central.• Uses a different kind of mathematics from other

Sciences/Engineering

Page 5: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:5

Goals of COMP102

• By the end of COMP102 you will be able to • understand, design, and construct small computer programs

(in Java). ⇒ be able to use computers to solve new problems⇒ be able to think in a new way about problems

Note: We don’t assume you have done any programming.COMP102 starts from the beginning

Example programs:

• screensaver • diagram editor• photo manipulator• little game

Page 6: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:6

What does COMP102 cover?

Focus of the course:

• Object Oriented programming and design.• Programming with the Java programming language.

• Java is widely use programming language• Clean enough for learning to program• Easier to use for larger programs• Useful for real programming

• Practical programming, writing small programs.

• Testing and debugging.

• Principles of good design.

Page 7: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:7

Where does COMP102 lead?

COMP 102 is a core course for: • BE (SWEN): Software Engineering, • BE (NWEN): Network Engineering,• BE (ECEN): Electronic & Computer Engineering,• COMP major in the BSc (or 2nd major in BA)• ELCO major in the BSc (or 2nd major in BA)• COMP minor in the BDI

Also required for• BSc (OPRE)

Useful course for many other disciplines (eg INFO)

Page 8: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:8

COMP102 in context

ComputerScience

Software Engineering

Network Engineering

Electronic

& Computer Engineering

Understanding Computation

BuildingSoftwareSystems

BuildingHardwareSystems

COMP 102

Page 9: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:9

Planning your programme

• You can’t do COMP102 at the same time as COMP103• Some students were enrolled this way by mistake!

• If you are doing BE or BSc (COMP)• then you should do COMP103 in Tri 2.• (unless we let you straight into COMP 103 this trimester)

• If you are doing COMP• then it is very sensible (but not required) to take SWEN 102 in

Tri 2.• You don’t need to change enrolment until mid-year• You should also plan on doing MATH161 in Tri 2.

Page 10: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:10

Is COMP102 For You?

• Required course for Computer Science, Engineering • Useful course for anyone who wants to be able to

program.• Not about using computers and applications software.• Not an “easy credits” course for most people

• Involves higher level thinking skills than many students expect

• Key factors for success are • logical/abstract thinking, • being able to think about your own thinking processes • problem solving, not memory• attention to detail• not getting behind

• Takes time! plan on around 10 hours / week

• Practical work is critical

Page 11: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:11

Wide range of Backgrounds

• We assume you have used a computer

• We do NOT assume you have done any programming

• But some students have!• good – it is definitely helpful• if you have done lots of programming, the course should be

easy• It may be that you can take COMP103 this trimester

instead!See me after the lecture.

• We try to meet the needs of the full range of students• Lectures are focussed on those who have no programming• Assignments have graduated components.

• If you are repeating the course:• Do the whole of the assignments, without looking at previous

solutions • The course will be similar, but there will be changes.

Page 12: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:12

Course Organisation

All the details are in the course outline:• handout• on the course web page:

http://ecs.victoria.ac.nz/Courses/COMP102_2011T1/

Lectures• Present basic ideas, techniques, examples.

• Mon, Tue, Thu 3-4 MC LT103

• 30 lectures • Other lecture slots used for tests, reviews, extension material,

etc.

• Optional Tutorial/Review Session • Fri 2-3, AM 104, Starts second week.

Page 13: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:13

Course Web Site

An essential resource for the course:

• http://ecs.victoria.ac.nz/Courses/COMP102_2011T1

• Course information, announcements, handouts, videos

• Lab Assignment details (times, dates, handouts, files, ...)

• Forum, for questions and discussion

• Info about doing work at home.

• Java documentation

• Other useful links

Primary administrative communication channel.

Page 14: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:14

People

Lecturer/Organiser (Academic/content issues)• Peter Andreae – “Pondy” Office: CO 429• [email protected] [email protected]

Lecturer (Academic/content issues)• Rashina Hoda Office: CO 253• [email protected]

Senior Tutor (Administrative issues, esp labs)• Ambreen Khan-Evans Office: CO 343 • [email protected]

Tutors (Help in labs or via online help system)• Range of Undergraduates and Graduates

Technical Staff (Reporting problems with the computers) • [email protected]

School Office (Forgotten passwords)• Kelsey, Renee, and Prema School Office: CO 358

Page 15: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:15

Lab assignments

• Ten lab assignments (roughly weekly),• hand out: Tuesday (or Wednesday morning)• due: 10am Wednesday (a week later) (except #6 &

#10)

• Apply material from lectures and text book to practical programming problems.

This is where your learning happens!

• Done partly in scheduled lab sessions

• Further work required: expect 5 hours outside labs • any of the ECS labs • on your home computer

Page 16: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:16

Scheduled Labs

• 2 hr lab, on Wed or Thu in CO 239/243• Wed 9-11, 11-1, 1-3, 3-5• Thu 9-11, 11-1, 1-3, 4-6 • (Wed 12:30-2:30 in a Design School lab for Design/Arch

students)

• Tutors present to help.

• Start THIS week (from Wednesday)• First assignment is short, and should not require additional

work outside the lab session.

• Sign up online• https://signups.victoria.ac.nz/

Page 17: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:17

Course Organisation

Help Desk• Tutors available at various times: TBA

• Online help via forum.

Study groups• We will facilitate organising study groups and tutored

help sessions • some sessions organised via the faculty Equity help

programme• Excellent way of helping your learning• Science and Engineering Faculty Awhina programme:

• support for Maori and Pacific Nations students• Women students support group??.

Page 18: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:18

Text Book and Handouts

Text Book• Java Foundations Lewis, DePasquale, Chase

• [also OK: Java Software Solutions (5th ed) Lewis and Loftus]• Same as for COMP103.

• We consider it an important resource.• The lectures complement the text, not replace it.• Lectures will not cover all the details you need!

• But nor will the textbook!

Handouts• Course outline, Lecture slides, Assignments• Handed out in class.• On COMP102 web page.

Page 19: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:19

Tests and Exams

Terms Test 1:• 15%• Thu 24 March• In lecture time

Terms Test 2:• 15% • Thu 5 May, • In lecture time

Exam: • 50% • Date tba

Page 20: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:20

Assessment

Read the Course Outline!!!

Mandatory Course Requirement:• Submit reasonable attempts for at least 7 of 10 assignments.

Final Grade:• Lab assignments: 20% (labs 2 -10)

• Terms Test 1: 15% (mark boosted to exam mark, if better)Terms Test 2: 15% (mark boosted to exam mark, if better)Exam: 50%

To pass the course, you must:• Satisfy the Mandatory Requirement.• Get overall grade of C or better.

Page 21: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

Withdrawal dates

• Early withdrawal with refund: by Fri 11 March• no consequences to early withdrawal

• Standard withdrawal without refund: 12 March – 13 May• Withdrawal recorded• No grade on transcript• Withdrawal counts as a fail for determining "Satisfactory

Academic Progress"

• Late withdrawal with Dean's permission: after 13 May• Requires permission of Associate Dean• Normally given only when special circumstances arise after

13 May.

COMP

102 1:21

Page 22: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:22

Plagiarism (Cheating)

• You must not present anybody else’s work as if it were your own work: • Basic principle of academic honesty.• applies to work by other students, friends, relatives, the web,

books…• If you received substantial help, then you must state who

helped and how much.• If you declare any work from someone else, then it isn’t

plagiarism!!!

• In COMP102: • You can work in pairs on the core parts of assignments BUT• You must put a comment at the top of your code saying that

you worked with ….• If you use code from the assigned text book, or

from the lectures, then you do not need to declare it;If you use any other code, then declare it!

Page 23: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:23

Cheating in the assignments.

Assignments are primarily for learning, not assessing

Cheating in the assignments is not worth it!

• You won't learn, so you will probably fail.

• If caught, you'll lose marks --- or worse.

• Assignments have a small contribution to your grade.

Page 24: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:24

Lab Facilities

• All scheduled labs are in CO239/243• Can also use other ECS labs• Can also use home computers.

• Lab Hours: 24/7• Need ID card to access in evenings and weekends

• The labs are for getting work done• Don’t prevent other people from working• If you want to play around, go somewhere else

Read the lab rules!

Page 25: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:25

Where to go for Help

Depends on the kind of help needed

• Staff: Pondy, Rashina, Ambreen• Forum

• Questions, answers, comments, discussion.• On COMP102 Web page.

• Staff: Pondy, Rashina, Ambreen

• ECS School Office:

• Student Services: http://www.vuw.ac.nz/st_services/

• Science/Engineering/Arch&Des Awhina programme

• The Web

Page 26: © Peter Andreae Introduction to Computer Program Design COMP 102 2011 T1. Peter Andreae ( “Pondy” ) Computer Science Victoria University of Wellington

© Peter Andreae

COMP

102 1:26

What to do NOW!

• Sign up for the labs Note: You need to be registered for the course

(a) to sign up for a lab(b) to be able to use the school computers

• Read the course outline.

• Get Text Book (Book Shop).

• Read Chapter 1.

• Read Assignment 1 before your lab session.

• Read the course outline. Yes, again!