Overview slides - Computer Science, Department of

Download Report

Transcript Overview slides - Computer Science, Department of

CSc 160
Overview of Fundamentals
of Computer Programming II
Spring (SO1) 2004
Introduction

Web page: http://www.cs.uvic.ca/~ycoady/csc160/

Course objectives
 Introduction to fundamental data structures and
algorithms
 Fundamentals of object-oriented programming

Required Text
 Data Structures and Algorithms in Java Second
Edition, by Michael T. Goodrich and Roberto
Tamassia, published by John Wiley & Sons, 2001

Lectures


2
Attending lectures is mandatory
Essential for doing well on all exams
CSc 160 Introduction
Laboratories

Labs






Lab leader:

3
Start next week (week of January 12th)
One hour of labs per week (cancelled for midterms/reading
break and last week of term)
Attendance is required
Make sure you attend the section you are signed up for
Extra details and hints on assignments – you will be
encouraged to finish your assignments in the lab – but they
can be handed in later but only if you attended the lab
Andrew Mcnair (email will be posted on the web page)
CSc 160 Introduction
Evaluation



4
30%
2 Midterms
30%
Final
40%
Marks will be posted publicly on the web by student
number


Assignments (approx. 8)
if you don’t want your marks posted in this manner, notify
me by email before January 12th ([email protected])
The Midterms will be one hour, closed books, closed
notes, no calculators, in class on February 3nd and March
10th.
Final exam will be three hours, closed books, closed
notes, no calculators, scheduled by the registrar.
You must pass the combined marks for the final and
midterm to pass the course.
CSc 160 Introduction
Assignments
Approx. 8 assignments during the course


evenly weighted (percentage depending on the number of
assignments)
Late submissions are not accepted


if valid excuse (e.g., doctor’s statement), raise weight of
other assignments to compensate
Work in the labs or at home



5
We will be using Gild (a simplified plug-in for Eclipse) for the
programming assignments
You can run it at home or in the labs (recommended to run it
on Windows machines because of integration with course
materials)
CSc 160 Introduction
Assignments -- 2
Cheating: zero-tolerance policy




6
first time fail course
discussion encouraged, but the assignment should be done
alone
some assignments may be done in pairs and you will be
notified in advance of these assignments (participation by
both partners will be mandatory for these assignments)
CSc 160 Introduction
Prerequisites and
Resources

Everybody should have taken CSc 110 or a similar
course



Resources (consult in this order if you have problems
with the course material or with the assignments):





7
Basic Java knowledge and programming skills are assumed
Knowledge of object-based programming is assumed
Lab instructor
Computer Science Consulting Office
(ELW B210)
Course web page (http://www.cs.uvic.ca/~ycoady/csc160/)
Computer labs web page (http://www.csc.uvic.ca/~labspg/)
Your course instructor
CSc 160 Introduction
Structure of weekly learning
resources
Approx every week we will post a zip file that contains
the learning resources for the following week, this
zip file will contain:

An html file called unit*.html (* is the number of each unit)
• This html file contains a description of the resources for the
week
• Also lists reading expectations and links to other files, as
well as a link to some activities to help you learn the material



8
The presentation slides to be used in lectures
Sample programs– it is also recommended that you
experiment with these examples outside of class
*-activities.html file – this file will describe some suggested
activities for the week (recommended)
CSc 160 Introduction
ADTs: The Keys to the
Kingdom…

An Abstract Data Type (ADT) is a model of a data
structure that specifies:
 The type of the data stored
 The operations supported on the data
 The types of the parameters involved

That is, an ADT specifies WHAT each operation
does, but not HOW it does it!

Think: Java interfaces and C header files…
9
CSc 160 Introduction
Separating the WHAT from
the HOW

An ADT is realized by a concrete data structure

This implementation is the HOW

This is where things can get REALLY interesting!!

Think: Java classes implement an interface and C
libraries are a collection of functions that implement
the signatures in a header file…

The separation of the WHAT from the HOW is central
in this course!
10
CSc 160 Introduction