Programming and Algorithms 

Banner


Week 1
Introduction to the module, to PSEUDOCODE, and to PYTHON.
Pseudocode and programming
Week 2
TOP-DOWN DESIGN, SEQUENCE and VARIABLES.
Variables
Week 3
SELECTION, IF Statement, CASE Statement, Boolean logic.
Selection
Week 4
ITERATION, WHILE loop, FOR, DO and LOOP loop.
Iteration
Week 5
Some common algorithms: PRIME NUMBERS, FIBONACCI NUMBERS and COMPRESSION.
Common Algorithms
Week 6
Looking at MODULARISATION. Introduction to SOFTWARE TESTING.
Modularisation and Testing
Week 7
Complex Data Structures, ARRAYS, Searching using SEQUENTIAL and BINARY SEARCH.
Arrays and Searching
Week 8
We will also look at some simple STATISTICS, as well as the BUBBLESORT algorithm, and looking at ways of OPTIMISING bubblesort.
Bubble sort
Week 9
The SELECTIONSORT algorithm. Multi-dimensional arrays.
Selection sort and multi-dimensional arrays
Week 10
ADVANCED DATA STRUCTURES, TECHNICAL ARCHITECTURES, and UNIVERSAL DESIGN.
Advanced Data Structures
Week 11
SOFTWARE DEVELOPMENT METHODOLOGIES and COMPUTER NETWORKS
Software Development
Week 12
Bringing it all together.
Exams and Revison

Week 1-12 Assessments

Assessments



Banner Semester 2


Week 13
FUNCTIONS, PARAMETER PASSING, RETURN values. VARIABLE SCOPE, LOCAL and GLOBAL VARIABLES.
structured programming
Week 14
STACKS: Push(), Top(), Pop(), IsEmpty(). QUEUES: IsEmpty(), AddToQ(), DeleteFromQ().
stacks and queues as arrays
Week 15
Adding and Deleting Nodes, Travesring the list. FACTORIAL, FIBONACCI, DECIMAL to BINARY conversion, LINKED LISTS parsing.
Linked Lists And Recursion
Week 16
STACKS: Push(), Top(), Pop(), IsEmpty(). QUEUES: IsEmpty(), AddToQ(), DeleteFromQ().
Stacks And Queues as Linked Lists
Week 17
Advanced Sorting - INSERTION SORT, SHELL SORT, MERGE SORT, QUICK SORT
Advanced Algorithms
Week 18
Objectives and principles of TESTING. Choosing TEST DATA. Testing and debugging strategies. UNIVERSAL DESIGN.
Software Testing.
Week 19
FILE MANAGEMENT: Reading and Writing Text Files, Reading Binary Files. EXCEPTION HANDLING: Handling different errors.
Data Persistence
Week 20
 FILE ANALYSIS: Character counting, Word counting, Line counting, Word frequency, Full File Analysis.
File Analysis
Week 21
Getting a URL, opening a webpage, finding links on a webpage, CRAWLING on the web.
WebCrawling
Week 22
Creating, searching and Travesring BINARY TREES. Finding a node and Inserting a node.
Binary Trees
Week 23
What is a DATABASE? How do we use SQL to make databases? How do we use PYTHON to connect to a database.
Data Integrity And Retention
Week 24

Bringing it all together.
Exams and Revision

Week 13-24 Assessments

Assessments


Banner

Week 25
Introduction to OBJECT-ORIENTATED DESIGN, UML, INFORMATION HIDING, ABSTRACTION, COMPOSITION.
Object-Oriented Design
Week 26
CLASSES and OBJECTS in PYTHON, DOCSTRINGS.
Objects in Python
Week 27
MODULES and PACKAGES, ACCESS CONTROL and THIRD-PARTY LIBRARIES.
Modules and Packages
Week 28
INTERITANCE (both BASIC and MULTIPLE) in PYTHON.
Inheritance
Week 29
Implementing OBJECT ORIENTED PROGRAMS and PROPERTY.
Object Oriented Programs
Week 30
STRING FORMATTING, MANIPULATION, and REGULAR EXPRESSIONS.
Strings and Serialization
Week 31
FILE MANAGEMENT and SERIALIZING OBJECTS and DATA.
Strings and Serialization Part 2
Week 32
DESIGN PATTERNS, and the SINGLETON PATTERN.
Design Patterns 1
Week 33
The ITERATOR PATTERN, COMPREHENSIONS and GENERATORS.
Design patterns 2
Week 34
OBJECT-ORIENTED TESTING and UNIT TESTING in PYTHON
object oriented testing 1
Week 35
PY.TEST and TESTING SCOPE
object oriented testing 2
Week 36

Bringing it all together.
Exams and Revision

Week 25-36 Assessments

Assessments






Key skills

py con

File Index

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