COMP 103
Data Structures and Algorithms Daniel Crabtree
Menu • What is COMP 103 about? • Course organisation: How does the course work? • OOS: How to avoid being injured • Overview of Course Libraries, Linear Collections, Hierarchical Collections
COMP103 – 2006/T3
2
What is COMP103 About? • More about designing and building programs • Main Themes (Programs with collections of data): • • • • •
Different kinds of collections Using the Java collections library Data structures for implementing collections Algorithms for dealing with collections Analysing data structures and algorithms (efficiency and correctness). • Testing programs
• Side Themes • Programming with graphical user interfaces • Building neat computer programs COMP103 – 2006/T3
3
General Information • Prerequisite: • If you failed COMP102, you can’t take 103 yet.
• Withdrawal: • With fees refund: Friday 24th November • Without Dean approval: Friday 19th January
• Workload: • Approximately 23 hrs/week. Some people COMP103 – 2006/T3 may need more.
4
People • Organiser:
Alex Potanin (CO230, Ph 463 5302)
• Lecturer:
Daniel Crabtree (CO243)
• School Office: CO358, Ph 463 5341 • URL: www.mcs.vuw.ac.nz/courses/COMP103/ • Email:
[email protected]
• Class Rep:
To be elected now…
COMP103 – 2006/T3
5
Class Representative • We need one! • Any volunteers?
• Class Rep: Please pick up the booklet from me or the school office. COMP103 – 2006/T3
6
Learning in COMP 103 Multiple resources: • Lectures • Assignments Do them (mandatory 8 of 10) • Tutorials Prepare for them, and go to them • Web pages Read them • Forum Participate in it • Text Book Read it • Personal Exploration Do it, and have fun • Study groups Form one or join one • Learning takes time: plan on ≥ 23 hrs/week COMP103 – 2006/T3
7
Lectures • Mon, Tue, Wed, Thur, Fri 3-4pm in Kirk LT301. • Lectures are a resource for your learning • Identify your learning style and use the lecture appropriately • Intend to always have handouts of the slides, but • SLIDES ≠ NOTES ≠ TEXTBOOK
• Lecture Goals: • Provide a framework / background for your learning COMP103 – 2006/T3 • Provide explanations / demonstrations to help 8
Assignment Themes • Must do assignments yourself. (not in pairs, as in COMP102) • Graphical editors: painting, diagrams, family trees, networks, et • Graphics: Rendering and manipulating “images”. • Processing files of text data analysing log files, stories, web pages, et • Simulation programs that capture aspects of the world. COMP103 – 2006/T3
9
Tutorials • Start Friday: 11am-noon, 1pm-2pm • Sign-up outside first year labs on level 2. • 20 people in each tutorial (MAX)
• Goals: • Associated with each assignment. • Work through questions together to help you in the assignments • Answer your questions and problems about the lecture material COMP103 – 2006/T3
10
Labs and Help Desk • No scheduled lab sessions • CO237, CO238, CO244, CO246, CO248, and CO250. • The labs are open from 7am to 7pm on weekdays. • Afterhours access, you will need your student card.
• Use Bluej for writing and running programs • Use COMP102 user name if you have one. Otherwise, need to sign up on line. • Help-desk: 12-1pm every day - see on-line timetable. COMP103 – 2006/T3
11
Text Book
COMP103 – 2006/T3
• Lewis and Chase “Java Software Structures” 2ed. Addison-Wesley Longman, 2005. • Complements the lectures and assignments, but we do not follow text closely. • The previous text book (Budd) is no longer recommended as it uses an obsolete version of Java. • The 102 text is a useful reference. 12
Web resources • Read the Course Outline Frequently • Forum: • Post questions on the forum – it’s the best way to get answers. • Collaborate, and help each other. • A tutor will monitor it, and answer (only) when appropriate • Please don’t post chunks of code
• Copies of lecture slides and assignments • Links to Java reference material • How to get Java and Bluej working at home. COMP103 – 2006/T3
13
Assessment • Assignments: 10 assignments, 10% • At least 8 must be submitted. • Four will be marked: (3, 5, 7?, 10?) • Test: 17:10-19:00, closed book 30% • 15th of December 2006 (provisional) • Exam: 3 hours, closed book 60% • (February 2007)
COMP103 – 2006/T3
14
Assessment • Mandatory requirements: • Submit reasonable attempts for at least 8 of the 10 assignments. • To pass: At least C grade overall. Note: all submitted assignments may be used to decide borderline cases and aegrotat applications
COMP103 – 2006/T3
15
Helping, Copying, Plagiarism • We want you to learn. • We want you to talk with each other, learn together, and help each other. • BUTPlagiarism is unacceptable • plagiarism is presenting other people’s work as your own
• If you got help for your assignment from anyone but the lecturer or the tutor, State it on the assignment • If you copied bits of code from anywhere but the lecture slides or the textbook (i.e. the web) State it on the assignment COMP103 – 2006/T3
16
Safety in the Labs: OOS • More people are injured at a computer than in any other science labs. • Your computer at home is probably even more dangerous. • OOS is rampant and debilitating. • Read the posters: • Take frequent breaks, • Have good posture, and
• See student health quickly if you get problems. COMP103 – 2006/T3
17
Assignment 1 (due Thur) • Learn to use Bluej • MiniPaint • A small painting program: • Lines, rectangles, ovals • Filled or outline • Different colours
• CrowdRenderer • Reads an “image” from a file • Renders it in three different ways • Image consists of faces of different sizes, positions, and hat colours
• You have to complete the programs (from a skeleton). COMP103 – 2006/T3
18
Next Lecture: • Programming with libraries • GUI Programs • Collections • Programming with Lists of objects • (Needed for CrowdRenderer) COMP103 – 2006/T3
19