Module Code: H8SDEV
Long Title Software Development
Title Software Development
Module Level: LEVEL 8
EQF Level: 6
EHEA Level: First Cycle
Credits: 10
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
Entry requirements  
 

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%
Coursework50.00%
End of Module Assessment50.00%

Assessments

Full 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
No Workplace Assessment
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
Discussion Note: