Module Specifications
Academic Year 2026 - 2027
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Description This module builds on introductory programming concepts to transition students toward more sophisticated problem-solving and software design. The module shifts the focus from basic syntax to the development of elegant, efficient code and the integration of programs with the wider computing environment. A central pillar of the curriculum is the mastery of Recursive Functions, challenging students to approach problem-solving through hierarchical and self-referential logic. In addition to exploring advanced data structures and functional programming techniques, students will learn to write robust applications capable of interacting with external systems, handling errors gracefully, and managing real-world data types. The module also introduces the analytical side of development through Sorting Algorithms and Complexity Analysis, providing students with the theoretical framework to evaluate and optimise the performance of their solutions. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Learning Outcomes 1. Write, debug and test computer programs using structured data types. 2. Write, debug and test computer programs using functions/procedures. 3. Design algorithms for solving computational problems requiring structured data types and functions/procedures. 4. Estimate the complexity of computer programs involving structured data types and functions/procedures. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Content and Learning Activities
Sorting, searching selection sort, insertion sort and binary search Recursive functions Designing and implementing recursive functions. Understanding the logic and call tree of a recursive function. Sets, Dictionaries, and Lists Organizing and manipulating data using advanced collections, focusing on unique element management and key-value mapping. List Comprehensions Constructing and transforming sequences using compact, readable syntax for improved performance and clarity. Lambda Functions Writing concise, anonymous functions to streamline code and pass logic as arguments to higher-order processes. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Indicative Reading List Books: None Articles: None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Other Resources None | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||