1 / 21

Introduction to Programming

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,

Pat_Xavi
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to Programming Tutor: Bill Keller Office:3R347a Email:billk@sussex.ac.uk Introduction to Programming 1.0

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. AndRemember….. DON'T PANIC! (BUT DO SEEK HELP IF YOU ARE STUCK) Introduction to Programming

  12. 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

  13. Buzzwords interface responsibility-driven design iterators inheritance overriding coupling cohesion encapsulation javadoc mutator methods collection classes polymorphic method calls Introduction to Programming

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. Course Overview: Next Term • Inheritance • Polymorphism • Extendable, flexible class structures • Handling errors • Designing applications Introduction to Programming

  21. 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

More Related