Registry
Module Specifications
Archived Version 2019 - 2020
| |||||||||||||||||||||||||||||||||||||
Description This module introduces the student to more advanced programming concepts including object-oriented programming through designing and employing classes; it enhances familiarity with built-in libraries and data structures; it equips students with techniques for designing and analyzing elementary algorithms. It further develops students’ programming and problem-solving abilities and fosters good programming practices. Students are expected to attend lectures, participate in tutorials, carry out practical exercises in a programming laboratory, and engage in extensive self-study and hands-on programming practice. | |||||||||||||||||||||||||||||||||||||
Learning Outcomes 1. Select and appropriately apply the basic programming language constructs and built-in data types (e.g. strings, integers, floats, booleans) required to write a program. 2. Write programs that make effective use of fundamental built-in data structures and their associated methods, including lists, tuples, dictionaries and sets. 3. Write programs that read and write text files. 4. Employ exception handling to produce code robust to run time errors. 5. Define classes that make effective use of instance methods/attributes and class methods/attributes, and make appropriate use of those classes in writing programs of small to moderate size. 6. Design and implement simple algorithms for searching, sorting, and text handling, and assess their time complexity. 7. Implement both iterative and recursive solutions to particular problems (e.g. searching and sorting). 8. Proceed from informal descriptions of problems to design and implementation of programming solutions. 9. Comply with good software engineering principles when writing programs, such as readability, maintainability, information hiding, and levels of abstraction. 10. Implement some fundamental abstract data types and data structures (e.g. stack, queue, tree, graph) including associated operations. | |||||||||||||||||||||||||||||||||||||
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 Built-in typesStrings, integers, floats, lists (and list comprehensions), dictionaries (and dictionary comprehensions), sets, tuples.FilesReading, writing and processing text files.Exception handlingUsing exceptions to write code robust to runtime errors.AlgorithmsRecursion. Binary and linear search. Elementary sorting. Elementary complexity theory. Introduction to Big-O notation. Introduction to regular expressions.DesignModelling with objects. Information hiding and object composition. Case studies in designing with classes. Problem solving techniques, problem decomposition and modular design.Object-oriented programmingDesigning classes and objects. Instance methods and attributes. Class methods and attributes. Operator overloading. Inheritance. Composition. Encapsulation.Abstract data types and data structuresStack, queue, list, tree, graph and associated operations. | |||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
Indicative Reading List
| |||||||||||||||||||||||||||||||||||||
Other Resources 0, Website, 0, Think Python: How to Think Like a Computer Scientist, http://www.greenteapress.com/thinkpython/html/index.html, 0, Website, 0, The Python Standard Library, https://docs.python.org/3/library/index.html, 0, Website, 0, Online Python Programming, https://www.jdoodle.com/python-programming-online, 0, Website, 0, A Byte of Python, https://python.swaroopch.com/, 0, Website, 0, Learn Python The Hard Way, https://learnpythonthehardway.org/book/, | |||||||||||||||||||||||||||||||||||||
Programme or List of Programmes | |||||||||||||||||||||||||||||||||||||
Archives: |
|