Module Code: COM1017 |
Module Title: PROGRAMMING FUNDAMENTALS
|
|
Module Provider: Computing
|
Short Name: COM1017
|
Level: HE1
|
Module Co-ordinator: CASEY MC Dr (Computing)
|
Number of credits: 20
|
Number of ECTS credits: 10
|
|
|
|
Module Availability |
Autumn Semester |
|
|
Assessment Pattern |
Assessment Pattern
Unit(s) of Assessment
|
Weighting Towards Module Mark( %)
|
Exam (individual)
3 hour practical unseen examination.
To address the following learning outcomes:
Write syntactically correct code, and compile, execute, debug and test the resulting computer program
Interpret UML class diagrams in order to implement object-oriented software
Understand the importance of constructing maintainable code by using good design and code conventions
|
50%
|
Coding Assignments (individual)
To encourage practice of programming fundamentals, regular assignments will be set. Each assignment will build upon the core material. To encourage participation, feedback will be given for both attempting to provide a solution and for the quality of your solutions, including good coding practice, testing and execution.
To address the following learning outcomes:
Write syntactically correct code, and compile, execute, debug and test the resulting computer program
Know when and how to apply native and class data types, and program control statements
Interpret UML class diagrams in order to implement object-oriented software
Understand the importance of constructing maintainable code by using good design and code conventions
|
40%
|
Diagnostic Test (individual)
During some of the compulsory lab sessions, diagnostic tests will be used to test your knowledge of the concepts covered to date. These tests will be used to provide individual support. Tests will take place unannounced during random lab sessions to also encourage attendance.
To address the following learning outcomes:
Understand the basic concepts of object-oriented software as implemented in Java
|
10%
|
Qualifying Condition(s)
A weighted aggregate mark of 40% is required to pass the module.
Core module.
|
|
|
|
Module Overview |
Module Overview
This module will provide an introduction to the fundamental concepts of object-oriented programming using Java. We will start from the first principles of what objects and classes are, and introduce data types, programming statements and good design practice in iterative steps throughout. To achieve this we will use appropriate tools and libraries, such as BlueJ, Eclipse and JUnit.
|
|
|
|
Prerequisites/Co-requisites |
|
|
|
Module Aims |
Module Aims
The aim of this module is to equip students with the fundamental knowledge and skills needed to design and write basic object-oriented programs.
|
|
|
|
Learning Outcomes |
Learning Outcomes
By the end of the module, students should be able to:
· Write syntactically correct code, and compile, execute, debug and test the resulting computer program
· Understand the basic concepts of object-oriented software as implemented in Java
· Know when and how to apply native and class data types, and program control statements
· Interpret UML class diagrams in order to implement object-oriented software
· Understand the importance of constructing maintainable code by using good design and code conventions
|
|
|
|
Module Content |
Module Content
The module is divided into the following areas:
· Introduction
o Motivation: programming and object-orientation
o Examples of good code versus bad code
o Java, JUnit, BlueJ and Eclipse
· Working with Classes
o Classes and objects
o Variables
o Methods
o Class diagrams
· Naked Java
o Compiling and running Java
o Execute versus interpret: comparison with other languages
o Unit testing with JUnit
o Eclipse and professional software development
o Best practice and coding styles
· Data types
o Primitive data types
o Strings
o Enumerated types
· Control flow
o Conditional statements (if, then, else)
o Loops (for, while, do)
· Collections
o Arrays
o Collections
o Arrays of arrays
· Inheritance
o Superclasses and subclasses
o Abstract classes
o Interfaces
· Handling Errors
o Defensive programming
o Exceptions
|
|
|
|
Methods of Teaching/Learning |
Methods of Teaching/Learning
55 contact hours in weeks 1-11, consisting of:
· 3 hours of lectures per week
· 2 hours of labs per week
This module is also supported by a 1 hour drop-in surgery each week and an additional 2 hours of streamed tutorials.
|
|
|
|
Selected Texts/Journals |
Selected Texts/Journals
Essential
Reading
:
Bates, K. & Bates, B. (2005). Head First Java.
Sebastopol, CA
: O’Reilly Media, Inc.
Recommended
Reading
:
Barnes, D. & Kölling, M. (2009). Objects First with Java: A Practical Introduction using BlueJ. 4th Edition.
Upper
Saddle
River
, NJ.: Pearson Education, Inc.
Liguori, R. & Liguori, P. (2008). Java Pocket Guide.
Sebastopol
, CA.: O’Reilly Media, Inc.
Vermeulen, A. et al (2000). The Elements of Java Style. Cambridge, UK.:
Cambridge
University
Press.
Background
Reading
and Other Sources:
Freeman, E., Freeman, E., Sierra, K. & Bates, B. (2004). Head First Design Patterns.
Sebastopol, CA
: O’Reilly Media, Inc.
Flanagan, D. (2005). Java in a Nutshell. 5th Edition
Sebastopol
, CA.: O’Reilly Media, Inc.
|
|
|
|
Last Updated |
AUG 2010 jg |
|
|
|