CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
Published byModified over 4 years ago
Presentation on theme: "CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004."— Presentation transcript:
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004
CSc 160 Introduction 2 Introduction Web page: http://www.cs.uvic.ca/~ycoady/csc160/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 Attending lectures is mandatory Essential for doing well on all exams
CSc 160 Introduction 3 Laboratories Labs Start next week (week of January 12 th ) 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 Lab leader: Andrew Mcnair (email will be posted on the web page)
CSc 160 Introduction 4 Marks will be posted publicly on the web by student number if you don’t want your marks posted in this manner, notify me by email before January 12 th (firstname.lastname@example.org) The Midterms will be one hour, closed books, closed notes, no calculators, in class on February 3 nd and March 10 th. 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. Evaluation Assignments (approx. 8)30% 2 Midterms30% Final40%
CSc 160 Introduction 5 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 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 6 Assignments -- 2 Cheating: zero-tolerance policy 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 7 Prerequisites and Resources Everybody should have taken CSc 110 or a similar course Basic Java knowledge and programming skills are assumed Knowledge of object-based programming is assumed Resources (consult in this order if you have problems with the course material or with the assignments): Lab instructor Computer Science Consulting Office (ELW B210) Course web page (http://www.cs.uvic.ca/~ycoady/csc160/)http://www.cs.uvic.ca/~ycoady/csc160/ Computer labs web page (http://www.csc.uvic.ca/~labspg/)http://www.csc.uvic.ca/~labspg/ Your course instructor
CSc 160 Introduction 8 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 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 9 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…
CSc 160 Introduction 10 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!