Introduction

Computer Programming 1 is a first year module run by the School of Computing at Dublin City University. It is taught in the first semester. The aim is to teach students how to write small programs in the Java programming language as preparation for more advanced programming courses (in particular Computer Programming 2). After completing the module, students will be able to write small programs using a subset of the Java language.

Lecturer

Name Email Office
Charlie Daly cdaly@computing.dcu.ie L2.29

Textbook

Title Author
Java Concepts Cay Horstmann

This book is required for the course. There are some copies in the library. You may use the library Web page to check that the book is available before you go down.

Another supplementary book is

Learning Approach

Programming is a skill which you can't learn just by passively listening at lectures. Lectures are integrated with workshops (programming discussion groups) and labs (practice sessions with a computer).

A Lecture presents the theory which will be consolidated in the workshop and put into practice in the lab. For example, a new Java instruction might be explained in the lecture. You would do some exercises in the workshop to see how this instruction is used, and then, in the lab, you would create programs using the newly acquired instruction. In this way you will build up your command of the Java language.

The textbook allows you to study the material in your own time. It also is a useful reference containing any required information about the process of programming and about the Java programming language. Make sure that you read the textbook carefully. If you don't understand any topic, ask another student, or your tutor or the lecturer. You could also use the discussion board to ask a question.

Module Objectives

At the end of the module the student will
  1. have a good working knowledge of the syntax (structural rules) and semantics (meaning) of a subset of the Java programming language. This subset includes basic data types, common Java classes (e.g. Strings and arrays), methods, etc.
  2. be competent at editing, writing and debugging Java programs.
  3. understand what happens when a Java instruction is executed.
  4. be able to solve certain problems using Java.

Marking Scheme

Your mark for this module will be made up as follows:

 

Continuous Assessment

Exam

  Programming
exams
Programming
assignments
Lab work Final Exam
Weighting 30% 15% 15% 40%

Continuous Assessment

You will have to complete the work allocated to you in the lab. There will also be programming assignments and two programming exams.

Computers

You'll find plenty of computers about. During the lab sessions you will be assigned a computer. These computers will be running a Windows operating system. Java is installed on all the machines.

How to do well on this module

  1. The material builds up week by week. If you don't understand something one week, you won't be able to understand anything in the next week and will quickly become completely lost. So, if you don't understand, ask. You can ask another student, a lab tutor, the lecturer, or a workshop tutor. You can also ask a question on the discussion board. Just be sure and understand everything.
    Here are some more reasons why you should ask questions.
  2. Read the frequently asked questions and the advice offered by former students of CA165.
  3. Read the timeline page, for advice on how to plan the year.
  4. Buy and read the book.
  5. Practise programming frequently. If you get stuck, think.
  6. Read Richard Bornat's advice for new computing students
  7. If you are following instructions at a computer and you get stuck, read the Programmer's Creed.
  8. These WWW pages will change frequently, so check them regularly.
  9. And check these pieces of advice
    1. How do I pass the module?
    2. How do I learn to program?

And remember the ancient Chinese wisdom:

He who asks is a fool for five minutes, but he who does not ask remains a fool forever.

 

Frequently asked Questions and Answers

A set of frequently asked questions (FAQ) and answers have been assembled.

Academic Honesty

You are encouraged to share ideas with other students but you must do all programming exercises on your own. Any attempt to present another student's work as your own is a serious offence. An offending student will be summoned before the disciplinary committee which has the power to expel a student. Note that it is also an offence to give your program to another student. The University policy takes these cases very seriously.