Module Code: |
H8SDEV |
Long Title
|
Software Development
|
Title
|
Software Development
|
Module Level: |
LEVEL 8 |
EQF Level: |
6 |
EHEA Level: |
First Cycle |
Module Coordinator: |
Adriana Chis |
Module Author: |
Adriana Chis |
Departments: |
School of Computing
|
Specifications of the qualifications and experience required of staff |
Master’s and/or PhD degree in computer science or cognate discipline. May also have industry experience.
|
Learning Outcomes |
On successful completion of this module the learner will be able to: |
# |
Learning Outcome Description |
LO1 |
Implement the core syntax and semantics of an object oriented programming language |
LO2 |
Identify and utilise good principles of algorithm design and programming |
LO3 |
Demonstrate a comprehensive range of specialised knowledge in Object Oriented programming |
LO4 |
Apply theoretical concepts to a range of contexts and real-world problem domains |
LO5 |
Develop responses (algorithms or classes) to well defined abstract problems |
LO6 |
Apply effective debugging throughout the development process |
Dependencies |
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
No recommendations listed |
Co-requisite Modules
|
No Co-requisite modules listed |
Module Content & Assessment
Indicative Content |
Introduction to Programming
• Types of programming languages
• Introduction to object oriented programming languages
• Programming environment
• Problem solving approaches
• Program correctness – types of errors (e.g. syntax, logic, and run-time errors)
|
Variables and Data Types
• Variables
• Data Types
• Arithmetic expressions
• Constants
|
Object Oriented Programming Basics
• Declaring variables of class data types
• Object creation
• Message sending
• Program components
• Comments
• Import statement
• Class declaration
• Method declaration
• Input/Output
|
Instantiable Classes
• Declaring instantiable classes
• Arguments/Data/Parameter passing
• Return values
• Access modifiers: public, private and protected
• Instantiable classes and constructors
• Overloading constructors
• Variable Scope
|
Selection Statements
• The if statement
• Boolean expressions and variables
• Nested if statements
• The switch statement
|
Repetition Statements
• The while statement
• The do while statement
• The for statement
• Nested for statements
• Counter-control loop statements
• Sentinel-control loop statements
|
Characters and Strings
• Characters
• Strings
• Primitive versus reference types
• StringBuffers
• Passing objects as arguments to methods
• Returning objects from methods
|
Arrays
• Array basics
• Arrays of objects
• Two-dimensional arrays
• Passing arrays to methods, and returning arrays from methods
|
Inheritance and Polymorphism
• Declaring classes using inheritance
• Overriding methods
• Using classes with polymorphism
• Inheritance and member accessibility
• Inheritance and constructors
• Abstract super classes and abstract methods
• Interfaces
|
Assessment Breakdown | % |
Coursework | 50.00% |
End of Module Assessment | 50.00% |
AssessmentsFull Time
Coursework |
Assessment Type: |
Continuous Assessment |
% of total: |
30 |
Assessment Date: |
n/a |
Outcome addressed: |
1,2,3,4,5,6 |
Non-Marked: |
No |
Assessment Description: Continuous assessments aim to evaluate students’ ability to integrate and apply new programming concepts with existing knowledge as the semester progresses. Students will be assessed both on their development skills and their ability to convey understanding of the programming concepts and programs which they have developed. |
|
Assessment Type: |
Project |
% of total: |
20 |
Assessment Date: |
n/a |
Outcome addressed: |
3,4,5 |
Non-Marked: |
No |
Assessment Description: A practical project will be used to evaluate students’ ability to assess an outline and implement a programming solution to a new problem definition applying the necessary principles and concepts discussed in this module. |
|
End of Module Assessment |
Assessment Type: |
Terminal Exam |
% of total: |
50 |
Assessment Date: |
End-of-Semester |
Outcome addressed: |
1,2,3,4,5,6 |
Non-Marked: |
No |
Assessment Description: End-of-Semester Final Examination |
|
Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
Reassessment Description Reassessment of this module will be via repeat examination which evaluates all learning outcomes.
|
NCIRL reserves the right to alter the nature and timings of assessment
Module Workload
Module Target Workload Hours 0 Hours |
Workload: Full Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
No Description |
24 |
Per Semester |
2.00 |
Tutorial |
No Description |
24 |
Per Semester |
2.00 |
Independent Learning |
No Description |
202 |
Per Semester |
16.83 |
Total Weekly Contact Hours |
4.00 |
Workload: Online |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
No Description |
12 |
Per Semester |
1.00 |
Tutorial |
No Description |
24 |
Per Semester |
2.00 |
Directed Learning |
No Description |
12 |
Per Semester |
1.00 |
Independent Learning |
No Description |
202 |
Per Semester |
16.83 |
Total Weekly Contact Hours |
4.00 |
Workload: Part Time |
Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
Lecture |
No Description |
24 |
Per Semester |
2.00 |
Tutorial |
No Description |
24 |
Per Semester |
2.00 |
Independent Learning |
No Description |
202 |
Per Semester |
16.83 |
Total Weekly Contact Hours |
4.00 |
Module Resources
Recommended Book Resources |
---|
-
Paul Deitel,Harvey Deitel. (2017), Java How to Program, Early Objects, 11th Edition. Pearson, p.1296, [ISBN: 9780134743356].
| Supplementary Book Resources |
---|
-
Herbert Schildt. (2018), Java: The Complete Reference, 11th Edition. McGraw-Hill Education, p.1344, [ISBN: 1260440230].
-
Walter Savitch. (2017), Java: An Introduction to Problem Solving and Programming, 8th Edition. Pearson, [ISBN: 0134462033].
-
Wu, C.T. (2009), An Introduction to Object Oriented Programming with Java, 5th Edition. McGraw-Hill.
-
Bruce Eckel. (2006), Thinking in Java, 4th Edition. Pearson Education, p.1482, [ISBN: 0131872486].
| This module does not have any article/paper resources |
---|
This module does not have any other resources |
---|
|