Plain text version | Style: Default, Black and White, Bath

University of Bath Logo
Dr Marina De Vos
Department of Computer Science
Friday, 24-Nov-2017 20:22:44 GMT

Programming I (CM10134 - CM50147)

This is the public homepage of the programming I unit which is mandatory for all first year undergraduate students in computer science (double unit) and students on Msc. in Human Communication and Computing (single unit).

Here you can find: the people involved, the content, the Aims and Objectives, the venue , course material, the learning environment moodle, support lists and forums, the assesment criteria, the unit outline, the lab exercises and the coursework specification.

People

  • Unit Lecturer: Dr. Marina De Vos
  • Unit Tutors
    • Tom Crick
    • Silvie Girard
    • Dahlia Khader
    • Carina Murman
    • Mark Wood


Course Content

Introduction to computers and programming. Introduction to object-oriented systems development. Algorithms. Control structures: sequence, selection and iteration. Scope and extent. Primitive data types. Testing. Object-orientation: reuse, inheritance, classes, objects and methods. Recursion. Exception Handling. Files and Streams.




Aims and Objectives

  • Aims:
    • To introduce students to the development of computer software, including problem analysis, establishing requirements, designing, implementing and evaluating.
    • To provide practical skills at reading and writing programs and producing programs to solve real world problems.

  • Objectives: On completion of this unit students will be able to:
    1. design, construct and test short object-oriented programs.
    2. defend design decisions.
    3. understand the idea of type and to use data types appropriately.
    4. develop iterative and recursive programs.
    5. read, and comprehend the behaviour of, programs written by others.


Venue

  • Lectures: Thursday 14.15 - 16.05 in 5W2.3
  • Lab classes: From the first week.


Course Material

  • Course Text:
    David J. Barnes and Michael Kolling
    Objects First with Java. A Practical Introduction using BlueJ
    Pearson Education
    Third Edition


    This is our main text book for the year. All the exercises will come from this book, so having a copy at hand during the labs and at home is needed

  • Additional Book:
    Bruce Eckel
    Thinking in Java, 3rd Edition
    Prentice-Hall, 2002
    ISBN: 031002872
    Free online copy: http://www.mindview.net/Books/TIJ/


    This Java book is not only free, it also very well written and suited for both the beginning as the more experienced programmer.

  • Pre-course Material: Pre-Course Material
    Some introductory material to get you started.

  • Unix/Linux Intro: Introduction to Unix/Linux
    Explains the basic linux/unix commands and has an excellent section on Makefiles. Not only useful for this unit but something all (future) computer scientist need to know


Moodle From this year, this unit will be run through the e-learning Moodle platform. The course can be found at http://moodle.bath.ac.uk/moodle5/course/view.php?id=425 . The site contains all the lecture hand-outs, quizzes to test your understanding of the material, lab exercises, coursework descriptions and discussion forums. The portal will also be used to submit your coursework, to announce information about the course, provide feedback on your work and lab status.

Support List and Forums

  • Moodle forums Three moodle forums have been set up to ask general questions about the lectures, labs and coursework
  • tutors-programming1"at"cs.bath.ac.uk: This mailing list can be used to contact the tutors/lecturer of this unit.
    This list should be used to submit lab sheets in case you could not attend the lab due to illness or other mitigating circumstances. Furthermore, more specific questions regarding courseworks can be posted on this list. To allow for a faster response to your questions, do not contact tutors/lecturer individually.


Assesment

Undergraduates

The formal assesment of this double unit is based on 40% coursework and 60% written exam.

  • Exam: Answer three questions out five on the more theoretical issues of programming. You will only need to write small programs.
  • Coursework: Write four medium sized programs in an object oriented way using the design methods discussed in the lectures and practised in the labs.
Note: In order to be allowed to sit the exam and to be marked for the coursework 7 exercise sheets have to be satisfactory completed. Each week you will be presented with a new lab sheet and you will have until the following week to complete a lab sheet. Checking of your work will be done by your peers and verified by your lab tutor. Therefore, in order to have you labs checked you should attend the labs.

You can check your lab status via Moodle by accessing your grades. You need 7 completed labs.

Msc. HCC

The formal assesment of this single unit is based on 50% coursework and 50% written exam.

  • Exam: Answer three questions out four on the more theoretical issues of programming. You will only need to write small programs.
  • Coursework: Write two medium sized programs in an object oriented way using the design methods discussed in the lectures and practised in the labs. Furthermore, write a medium sized essay on issue relating both programming design and emperical studies
Note: In order to be allowed to sit the exam and to be marked for the coursework 4 exercise sheets have to be satisfactory completed. Two from Labs 1-5 and 2 from Labs 6-10. You have time until the last lab session to do so. Checking of your work will be done by your peers and verified by your lab tutor. Therefore, in order to have you labs checked you should attend the labs.

You can check your lab status via Moodle by accessing your grades. You need 5 completed labs.


Course Outline

The transparencies and handouts are available via


Lab Classes

The exercises for the lab session can be accessed via Moodle. For the undergraduates, remember you have to complete 7 of them successfully in order to sit the exam and to obtain marks for the coursework. For those on the Msc. in HCC, you need to complete 2 labs from the first five and 2 from the last five. The deadlines given are the ones for the undergraduates.

The labs are designed to prepare you not only for the coursework but also for the exam. Although you do not to complete all labs to gain marks for this unit, it is advisable that you do try to complete all of them.

  • Lab 1: To be completed by week 3
  • Lab 2: To be completed by week 4
  • Lab 3: To be completed by week 5
  • Lab 4: To be completed by week 6
  • Lab 5: To be completed by week 7
  • Lab 6: To be completed by week 8
  • Lab 7: To be completed by week 9
  • Lab 8: To be completed by week 10
  • Lab 9: To be completed by week 11
  • Lab 10: To be completed by week 12


Coursework

Information will be available on October 18th 2006