Programming
and Algorithms
Week 1
Introduction to the module, to PSEUDOCODE, and to PYTHON. |
 |
Week 2
TOP-DOWN
DESIGN, SEQUENCE and VARIABLES. |
 |
Week 3
SELECTION, IF Statement, CASE Statement, Boolean logic. |
 |
Week 4
ITERATION, WHILE loop, FOR, DO and LOOP loop. |
 |
Week 5
Some common algorithms: PRIME NUMBERS, FIBONACCI NUMBERS and
COMPRESSION. |
 |
Week 6
Looking at MODULARISATION. Introduction to SOFTWARE TESTING. |

|
Week 7
Complex Data Structures, ARRAYS, Searching using SEQUENTIAL and BINARY
SEARCH. |
 |
Week 8
We will also look at some simple STATISTICS, as well as the BUBBLESORT
algorithm, and looking at ways of OPTIMISING bubblesort. |
 |
Week 9
The SELECTIONSORT algorithm. Multi-dimensional arrays. |
 |
Week 10
ADVANCED DATA STRUCTURES, TECHNICAL ARCHITECTURES, and UNIVERSAL DESIGN. |
 |
Week 11
SOFTWARE DEVELOPMENT METHODOLOGIES and COMPUTER NETWORKS |
 |
Week 12
Bringing it all together. |

|
|
Week
1-12 Assessments

|


Week 13
FUNCTIONS, PARAMETER PASSING, RETURN values. VARIABLE SCOPE, LOCAL
and GLOBAL VARIABLES. |
 |
Week 14
STACKS: Push(), Top(), Pop(), IsEmpty().
QUEUES: IsEmpty(), AddToQ(), DeleteFromQ().
|
 |
Week 15
Adding and Deleting Nodes, Travesring the list. FACTORIAL, FIBONACCI,
DECIMAL to BINARY conversion, LINKED LISTS parsing. |
 |
Week 16
STACKS: Push(), Top(), Pop(), IsEmpty().
QUEUES: IsEmpty(), AddToQ(), DeleteFromQ().
|
 |
Week 17
Advanced Sorting - INSERTION SORT, SHELL SORT, MERGE SORT, QUICK SORT
|
 |
Week 18
Objectives and principles of TESTING. Choosing TEST DATA.
Testing and debugging strategies. UNIVERSAL DESIGN. |

|
Week 19
FILE MANAGEMENT: Reading and Writing Text Files, Reading Binary Files.
EXCEPTION HANDLING: Handling different errors. |
 |
Week 20
FILE ANALYSIS: Character counting, Word counting, Line
counting, Word frequency, Full File Analysis.
|
 |
Week 21
Getting a URL, opening a webpage, finding links on a webpage, CRAWLING
on the web.
|
 |
Week 22
Creating, searching and
Travesring BINARY TREES. Finding a node and Inserting a node.
|

|
Week 23
What is a DATABASE? How do we use SQL to make databases? How do we use
PYTHON to connect to a database.
|
 |
Week 24
Bringing it all together. |

|
Week
13-24 Assessments

|


Week 25
Introduction to OBJECT-ORIENTATED DESIGN, UML, INFORMATION HIDING,
ABSTRACTION, COMPOSITION. |

|
Week 26
CLASSES and OBJECTS in PYTHON, DOCSTRINGS.
|

|
Week 27
MODULES and PACKAGES, ACCESS CONTROL and THIRD-PARTY LIBRARIES. |

|
Week 28
INTERITANCE (both BASIC and MULTIPLE) in
PYTHON.
|

|
Week 29
Implementing OBJECT ORIENTED PROGRAMS and PROPERTY.
|

|
Week 30
STRING FORMATTING, MANIPULATION, and REGULAR EXPRESSIONS.
|

|
Week 31
FILE MANAGEMENT and SERIALIZING OBJECTS and DATA. |

|
Week 32
DESIGN PATTERNS, and the SINGLETON PATTERN.
|

|
Week 33
The ITERATOR PATTERN, COMPREHENSIONS and GENERATORS.
|

|
Week 34
OBJECT-ORIENTED TESTING and UNIT TESTING in PYTHON
|

|
Week 35
PY.TEST and TESTING SCOPE
|

|
Week 36
Bringing it all together. |

|
Week
25-36 Assessments

|



|
If you have
any suggestions, corrections, or
comments, please feel free to e-mail me at:
Damian.Gordon(a)dit.ie |
|