|Module Name||Introduction to Programming|
|Module Short Title||N/a|
|Semester Taught||Both semesters|
|Contact Hours||Lecture hours: 44|
Lab hours: 22
Tutorial hours: 22
Total hours: 88
|Module Personnel||Dr Kenneth Dawson-Howe & Dr Arthur Hughes|
When students have successfully completed this module they should be able to:
- Solve introductory programming problems in Java.
- Break problems into sub-problems, which can then be solved using simple algorithms.
- Design algorithms using sequence, selection, iteration and recursion.
- Design simple classes using primitive data types, Strings and arrays.
- Build object-based programs using class-based decomposition.
- Write, compile, test, and debug object-based programs using an Interactive
- Development Environment (IDE).
- Recognise the software engineering concerns that give rise to the use of classes and other abstraction mechanisms.
This module provides an introductory course in computer programming. This course takes a practical approach to teaching the fundamental concepts of computer programming with a strong emphasis on tutorial and laboratory work and is an important vehicle for developing students’ analytical and problem-solving skills.
This module aims to give students an understanding of how computers can be employed to solve real-world (albeit small) problems. Specifically, this course introduces students to the object-oriented approach to program design and teaches them how to write programs in an object-oriented language (in this case Java).
Students also have the opportunity to reinforce their problem solving and programming skills by developing solutions to programming problems and implementing those solutions as object-based programs.
Specific topics addressed in this module include:
- Types and variables including integer, floating-point and string types.
- Sequencing, assignment and expressions.
- Boolean expressions.
- Selection statements: if, if-else, nested if, and switch-case.
- Iteration statements: while, for, do-while, and nested loops.
- Using, creating and designing methods and recursive methods.
- Design of simple algorithms using sequencing, selection, iteration and methods.
- Arrays including higher dimensional arrays.
- Using, creating and designing classes and objects including attributes and methods.
- Abstraction, encapsulation and immutability in designing classes.
|Recommended Reading List|
Java How to Program (late objects), Tenth Edition, Paul Deitel and Harvey Deitel, Prentice Hall, 2015.
Introduction to Programming in Java: An Interdisciplinary Approach, Robert Sedgewick and Kevin Wayne, Addison Wesly, 2008.
Algorithmics The Spirit of Computing,Third Edition, David Harel with Yishai Feldman, Addison Wesly, 2004.
Schaum's Outline of Theory and Problems of Programming with Java, Second Edition, John R. Hubbard, McGraw-Hill Companies, 2004.
Please check the Blackboard CS1010 Module website for details of other texts and online resources.
To pass the annual examination in CS1010, candidates must achieve a mark of at least 40% overall. The overall mark is a weighted average of the marks for the eTests (80%) and the coursework mark (20%).
There are typically 4 eTests held during the academic year. The coursework in this course consists of a number of programming assignments (roughly 11 during the first semester and roughly 4 during the second semester), along with some marks given for laboratory and tutorial sessions during the second semester.
To pass the supplemental examination in CS1010, candidates must achieve a mark of at least 40% in the supplemental eTest.
|Academic Year of Data||N/a|