What is COMP 102 about

advertisement
Introduction to
Computer Program Design
COMP 102
2015 T1
.
Peter Andreae
( “Pondy” )
Computer Science
Victoria University of Wellington
© Peter Andreae
COMP 102
COMP 102 1:2
Menu:
• What is COMP102 about?
• Where does COMP102 fit in your degree?
• Course organisation
• What to do NOW!
Admin:
• Handouts:
• Course Outline
• Lab Assignment 1
• Switching to COMP112: see me after the lecture, outside lecture room
© Peter Andreae
Computing is everywhere
COMP 102 1:3
• Computer based systems are everywhere
• user application programs – browsers, photo editors, chat programs
• social media and mobile phone apps,…
• 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
• ….
⇒ Computing underlies almost all aspects of modern life
© Peter Andreae
Computer Science
COMP 102 1:4
• Computer Science is the science of Computing
• The study of the computing processes that happen inside computers
when they are working.
• How do we design, build, analyse systems that deal with information:
• text
• numbers
• graphics and video
• sound
• sensor and control signals
• ….
© Peter Andreae
Computer Science Questions
COMP 102 1:5
How do you….
•
•
•
•
•
•
•
•
•
•
•
•
design a computer system to manage an organisation’s information?
design an intelligent assistant for your phone that can talk with you?
enable social interaction over communication networks
send data securely and reliably over unreliable public networks?
manage large teams of programmers building insanely complicated
programs (not the way Novopay did!)
design algorithms that will create new visual effects for movies
design a database so that it is impossible to enter inconsistent data?
design programming languages to make programming easier
ensure that the computer program controlling a nuclear reactor or a
spacecraft never makes a mistake?
design a self-driving car that drives safely on city roads?
make a safe encryption scheme for electronic commerce?
determine whether some computation is tractable or even possible?
© Peter Andreae
COMP 102 1:6
What is COMP 102?
A first course in
• Computer Science
• Software Engineering
• Network Engineering
IS
SE
ECE
MD
A required course for
• Electronic and Computer Engineering
• Operations Research
CS
NW
OR
An important course for
• Information Systems
• Media Design
A useful course for
• Everyone
© Peter Andreae
COMP 102 1:7
COMP102 not a Computer Science overview
Why not?
To understand the issues and principles of Computer Science,
we need to understand and be able talk about computation.
• Programming is about specifying the computation that a
computer should do
• We need to be able to write, understand, think about, and
analyse programs to address the issues of Computer Science
• Programming is fundamental to the engineering side of
Computer Science.
© Peter Andreae
What is COMP 102 about
COMP 102 1:8
• COMP 102 is about learning the language and the ways of
thinking required for Computer Science, Software
Engineering, Network Engineering etc.
• Programming is about designing new programs, applications,
systems by writing the instructions to make a computer
behave in the way we want it to.
• In COMP102, you will design and write lots of little programs
for a wide variety of tasks.
• Gives you a new set of mental tools for addressing problems
• Different way of thinking from most disciplines
• Very precise, coping with abstraction and complexity, creative.
© Peter Andreae
Goals of COMP102
COMP 102 1:9
• 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
(more on this in a moment)
Example programs:
•
•
•
•
Bouncing ball simulator
diagram editor
photo manipulator
little game
© Peter Andreae
What does COMP102 cover?
COMP 102 1:10
Focus of the course:
• Object Oriented programming and design.
• Programming with the Java programming language.
• Java is a widely used programming language
• Clean enough for learning to program
• Useful for real programming
• Strong enough for very large programs
• Practical programming, writing small programs.
• Testing and debugging.
• Principles of good design.
© Peter Andreae
Is COMP102 For You?
COMP 102 1:11
• 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
© Peter Andreae
COMP 102 1:12
Should you take COMP112 instead?
• COMP112: alternative to COMP102 for BE or BSc(COMP)
• Both courses let you proceed to COMP103
No programming
experience
COMP 102
Programming experience
eg level 3 NCEA DT
programming standards
COMP 112
COMP 103
• COMP 112 assumes programming experience:
•
•
•
•
•
variables, loops, conditionals (ifs) input and output
writing functions/procedures/methods with parameters
lists or arrays
little bit of event driven input, object oriented design
doesn’t care what language you used
• COMP112 gives more breadth of coverage of COMP Sci
• also involves more complex programming problems
© Peter Andreae
Switching to COMP 112
COMP 102 1:13
• If you have the programming experience
• check out what we expect at
http://ecs.Victoria.ac.nz/Main/ReadyForCOMP112
• Come along to the COMP112 lectures:
2pm Mon Wed Fri (HU LT323)
• Check out the first assignment in COMP112
• See me after a lecture to get switched over
• Within the first two weeks
© Peter Andreae
COMP 102 Background
COMP 102 1:14
• 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, take COMP112
• We try to meet the needs of the full range of students
• Variety of different help and support available
• 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.
© Peter Andreae
Planning Ahead
COMP 102 1:15
• If you are doing BE, or BSc (COMP), or BDI minor in COMP
• then you should plan on taking COMP103 in Tri 2.
You need a B- or better in COMP 102 to get in to COMP 103
• If you are doing BSc (COMP) or BE (SWEN)
• Plan on doing MATH161 in Tri 2.
• Required for entry to two 2nd year courses (COMP261, SWEN224)
and for many 3rd year courses.
• Consider taking ENGR 110 in Tri 2
• Required for entry to one 2nd year course (SWEN223)
• You don’t need to change enrolment until 2nd year.
• You can’t do COMP102 and COMP112 at the same time!
© Peter Andreae
Planning Ahead
COMP 102 1:16
• If you want to do computer graphics
• BSc in Comp Sci with focus in computer graphics
• Masters/Hons programme in computer graphics
• BDI with focus in computer graphics
• You will need to take
• COMP102 and 103
• MATH 151 (or ENGR 121) and MATH 161
• DSDN 101 and DSDN 142
© Peter Andreae
Course Organisation
COMP 102 1:17
All the details are in the course outline:
• handout
• on the course web page:
http://ecs.victoria.ac.nz/Courses/COMP102_2015T1/
Lectures
• Present new ideas, techniques, examples.
• Mon, Wed, Fri 11-12 KK LT303 (plan to video record)
• Approx 32 lectures
• Other 4 lecture slots used for reviews, extension material, etc.
Optional Tutorial/Review Session
• Tue 4-5, AM104, Starts third week.
• 1st year help sessions: Mon, Wed 5-7, AM103
© Peter Andreae
Course Web Site
COMP 102 1:18
An essential resource for the course:
• http://ecs.victoria.ac.nz/Courses/COMP102_2015T1
(also accessible via link on BlackBoard)
• 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.
© Peter Andreae
COMP 102 1:19
People
Organiser/Lecturer
(Academic/content issues)
• Peter Andreae – “Pondy”
Office: CO 336
• Peter.Andreae@ecs.vuw.ac.nz or pondy@ecs.vuw.ac.nz
Senior Tutor
(Administrative issues, esp labs)
• Zarinah Amin
Office: CO 343
• Zarinah.Amin@ecs.vuw.ac.nz
Tutors
(Help in labs or via online help system)
• Range of Undergraduates and Graduates
Technical Staff
(Reporting problems with the computers)
• bugs@ecs.vuw.ac.nz
School Office
(Forgotten passwords)
• CO 358
© Peter Andreae
Lab assignments
COMP 102 1:20
• Ten lab assignments (roughly weekly),
• hand out: Wednesday
• due:
10am Wednesday (a week later) (except #4 & #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,
• VS 3.19 (design school)
• on your home computer
© Peter Andreae
Scheduled Labs
COMP 102 1:21
• Two 1hr labs, in CO 219/238
• Lab A: on Wed 1-2, 2-3, 3-4, 4-5, Thu 10-11,11-12
• Lab B: on Mon 10-11, 1-2, 2-3, 3-4, 4-5, 5-6
• Make-up lab: ?? TBA
• Tutors present to help.
• Start THIS week (from Wednesday)
• First assignment is short, and should not require additional work
outside the lab sessions.
• Sign up online
• https://student-sa.victoria.ac.nz/
• choose ONE Lab A and ONE Lab B
(CO219 or CO238 ?
doesn’t matter)
© Peter Andreae
Design Students
COMP 102 1:22
• Given preference for lab streams on Mon 1-2 and Wed 1-2
• lets you stay up at Kelburn after the lecture, before going down to Te
Aro.
• Need to be in Stream A for both DSDN111 and 101
Need to leave tutorial early to come up here for the lecture.
• given preference for third tutorial time for DSDN171
Wed 2:30-3:30, so can attend COMP102 lab 1-2pm
• I have restricted the size of the Mon & Wed 1-2 labs.
• If you are design student you are automatically allowed in
those labs without signing up. You can choose another lab if
you want.
© Peter Andreae
Course Organisation
COMP 102 1:23
Help Desk
• Online help:
• Forum for general questions; email/web form for questions about
your code.
• Help Desk: Tutors available at various times: TBA (12-1?)
Study groups
• We will facilitate organising study groups and tutored help
sessions
• Excellent way of helping your learning
• Science and Engineering Faculty Awhina programme:
• support for Maori and Pacific Nations students
• Women students support group??.
© Peter Andreae
Text Book and Handouts
COMP 102 1:24
Text Book
• Java Foundations Lewis, DePasquale, Chase
• Same as for COMP103.
• [also OK: Java Software Solutions (6th ed) Lewis and Loftus]
• 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.
© Peter Andreae
Tests and Exams
COMP 102 1:25
Terms Test 1:
• 15%
• Tuesday 31 March 6-7 pm
• NOT in lecture time!
Terms Test 2:
• 15%
• Monday 11 May 6-7 pm
• NOT in lecture time!
Exam:
• 50%
• Date tba (between 12 June and 3 July)
© Peter Andreae
COMP 102 1:26
Assessment
Read the Course Outline!!!
Mandatory Course Requirement:
• Submit reasonable attempts for at least 7 of assignments 2 to 10.
Final Grade:
• Lab assignments: 20%
(labs 2 -10)
• Terms Test 1:
Terms Test 2:
Exam:
(mark boosted to exam mark, if better)
(mark boosted to exam mark, if better)
15%
15%
50%
To pass the course, you must:
• Satisfy the Mandatory Requirement.
• Get overall grade of C- or better.
• Need B- or better to get into COMP103
© Peter Andreae
Withdrawal dates
COMP 102 1:27
• Early withdrawal with refund: up do Fri 13 March
• no consequences to early withdrawal
• Standard withdrawal without refund: up to Friday 15 May
• Withdrawal recorded
• No grade recorded on transcript
• BUT, withdrawal counts as a fail for determining "Satisfactory
Academic Progress"
• Late withdrawal with Dean's permission: after 15 May
• Requires permission of Associate Dean
• Normally given only when special circumstances arise after 15 May.
© Peter Andreae
Plagiarism (Cheating)
COMP 102 1:28
• 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:
• We encourage you to work in pairs on the core & completion 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 that wasn’t yours, then declare it!
© Peter Andreae
Cheating in the assignments.
COMP 102 1:29
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 fairly small contribution to your grade.
© Peter Andreae
Lab Facilities
COMP 102 1:30
• All scheduled labs are in CO219/238
• Can also use other ECS labs (or one of the labs at VS)
• 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!
© Peter Andreae
Where to go for Help
COMP 102 1:31
Depends on the kind of help needed
• Lecturers, Senior Tutor, tutors
• Forum
• On-line help system
• Help desk (CO 242b)
• ECS School Office:
• Student Services: http://www.vuw.ac.nz/st_services/
• Science/Engineering/Arch&Des Awhina programme
• The Web
© Peter Andreae
What to do NOW!
COMP 102 1:32
• 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!
© Peter Andreae
Download