Introduction to programming
Download
1 / 21

Introduction to Programming - PowerPoint PPT Presentation

Introduction to Programming. Tutor: Bill Keller Office: 3R347a Email: billk@sussex.ac.uk. 1.0. Object Oriented Programming Using Java and BlueJ. Taken by first-year undergraduates in: Computer Science, Multimedia & Digital Systems, Computing &Artificial Intelligence,

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

Download Presentation

Introduction to Programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Introduction to Programming

Tutor: Bill Keller

Office:3R347a

Email:billk@sussex.ac.uk

Introduction to Programming

1.0


Object Oriented Programming Using Java and BlueJ

Taken by first-year undergraduates in:

  • Computer Science,

  • Multimedia & Digital Systems,

  • Computing &Artificial Intelligence,

  • Computer Science with Management Studies,

  • Internet Computing,

  • Music Informatics

  • Information Technology for eCommerce

    Plus some others (e.g. V/E and Maths with CS)

Introduction to Programming


Course Book

David J. Barnes & Michael KöllingObjects First with JavaA Practical Introduction using BlueJ

(Third Edition)Pearson Education, 2006ISBN 0-13-197-629X

Introduction to Programming


What is BlueJ?

  • A development environment for Java

  • Aimed at novice programmers, but not a cut-down version of Java

  • Allows us to get to grips with “objects first”

  • Allows us to create and interact with objects before getting to grips with Java syntax

Introduction to Programming


General Information

  • Three lectures per week.

  • There will be a (multi-part) assessed programming exercise.

  • Instructions for submission will be given later.

  • Everyone attends at least one two hour programming lab each.

  • Lab assignments are not to be handed in.

  • Help with these will be given at the lab classes.

  • Some of the lectures may be used to discuss solutions to exercises.

Introduction to Programming


Assessment

Coursework (handed in this term) worth 50%

  • A multi-part programming exercise that builds towards a single program:

    • each part will have a separate submission deadline

    • each part will consist of the code from the previous part plus some new code

    • the mark for each part will be the mark for this new code, independent of the previous part

    • initial feedback will be given for each part after the deadline

    • the model answers to previous parts can be used in subsequent parts

    • the whole lot will be marked after the final submission

    • your final coursework mark will be computed by adding up your marks for each part

  • Exam (in Summer term) worth 50%

Introduction to Programming


Teaching Times

Lectures will be the following times:

  • Tuesday 10.00 – 11.00 in JMS 1A01

  • Thursday 11.00 -12.00 in JMS 1A01

  • Friday 12.00 – 1.00 in JMS 1A01

    Lectures are compulsory!

Introduction to Programming


Lab Classes

Everyone attends one lab per week:

  • Tuesday 11.00 -- 13.00 in C1003

  • Tuesday 14.00 -- 16.00 in C1003

  • Tuesday 16.00 -- 18.00 in C1003

  • Friday 14.00 -- 16.00 in C1003

  • Friday 16.00 -- 18.00 in C1003

    Lab classes are compulsory!

Introduction to Programming


Additional Drop-in Lab Classes

  • Extra classes may be made available each week on an as-needed basis.

  • Highly recommended for anyone new to object-oriented programming

  • Times will be announced shortly.

Introduction to Programming


Other Sources of Help

  • Study Direct site:

    • course notes and information

    • exercises and activities

    • discussion forums…..

  • Books

  • Peer Assisted Learning scheme (PAL)

    - drop-in study groups led by someone who has recently taken the course

  • Me!!

Introduction to Programming


AndRemember…..

DON'T PANIC!

(BUT DO SEEK HELP IF YOU ARE STUCK)

Introduction to Programming


Course Contents

  • Introduction to object-oriented programming…

  • …with a strong software engineering foundation…

  • …aimed at producing and maintaining large, high-quality software systems.

Introduction to Programming


Buzzwords

interface

responsibility-driven design

iterators

inheritance

overriding

coupling

cohesion

encapsulation

javadoc

mutator methods

collection classes

polymorphic method calls

Introduction to Programming


Goals

  • Sound knowledge of programming principles

  • Sound knowledge of object-orientation

  • Able to critically assess the quality of a (small) software system

  • Able to implement a small software system in Java

  • Able to program well enough in Java to form basis for other courses

Introduction to Programming


Why Java?

  • Designed with Internet applications in mind

  • Rapidly becoming one of the most important programming languages (along with C and C++)

  • Object Oriented - encourages very disciplined programming in terms of “objects” and their behaviours

  • Architecture neutral and portable - will run with the same behaviour on any processor and under any operating system

Introduction to Programming


Applications and Applets

  • There are two types of Java program:

    • Applications are just like any normal computer program which you execute by giving an appropriate command to the operating system

    • Applets are programs which execute from within a web browser. The browser downloads the (compiled) Java program from the web page, and runs it on your machine.

  • This course will concentrate on applications.

Introduction to Programming


Java - which version?

  • About 8 years ago, Java underwent a major revision (version 1.0 to 1.1)

    • changed various features of the language

    • It was a major functional change

  • More recently we’ve seen Java 1.2, 1.3, 1.4, and in the last couple of years 1.5 (aka Java 5) and 1.6 (Java SE 6).

  • Java 5 made some notable functional changes to the language, introducing e.g. for each loops and generic classes.

  • The change to Java SE 6 is less visible as far as we are concerned.

  • We will be using the third edition of Objects First with Java, which uses Java 5.

  • In the labs we will be running code with Java SE 6.

Introduction to Programming


The Structure of Java

  • Java is made up of the basic language plus lots of packages (libraries) containing useful facilities:

    • java.lang is included automatically

    • other official packages have to be explicitly importedinto your program

  • local and other 3rd party libraries also have to be imported.

Introduction to Programming


Course Overview: This Term

  • Objects and classes

  • Understanding class definitions

  • Object interaction

  • Grouping objects

  • More sophisticated behaviour - libraries

  • Well-behaved objects - testing, maintaining, debugging

  • Designing classes

Introduction to Programming


Course Overview: Next Term

  • Inheritance

  • Polymorphism

  • Extendable, flexible class structures

  • Handling errors

  • Designing applications

Introduction to Programming


To Do This Week

  • Get into the labs

  • Read the online course documentation on Study Direct

  • Read chapter 1 of Objects First with BlueJ

  • Fire up BlueJ

  • Have a go at the exercises from chapter 1

Introduction to Programming


ad
  • Login