Short Title:Algorithms & Computation
Full Title:Algorithms & Computation
Language of Instruction:English
Module Code:ALGO H4011
 
Credits: 5
Field of Study:Computer Science
Module Delivered in 3 programme(s)
Reviewed By:FINBARR FEENEY
Module Author:James Doody
Module Description:This module provides the student with the knowledge and skills to analyse, design, securely develop, test and debug applications written in C++ using pointers, data structures and algorithms.
Learning Outcomes
On successful completion of this module the learner will be able to:
LO1 Demonstrate competency in memory management and the use of pointers in C++
LO2 Be able to use the application build process for C++
LO3 Develop software that can search and sort data structures such as Trees, Priority Queues, Dictionaries, and Graphs.
LO4 Implement greedy algorithms to solve shortest path and compression problems on graphs and tree data structures
LO5 Implement basic Cryptography algorithms
LO6 Be able to make a critical judgement on the choices of algorithms for software applications
 

Module Content & Assessment

Course Work
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Practical/Skills Evaluation Practical 1 - A number of weekly lab sheets on focusing on different algorithms implemented in C++ 2,3,6 40.00 n/a
Continuous Assessment Practical 2 - Elapsed group based assignment which would normally consist of a written description of a business software problem that requires the implementation of data compression, followed by a written pseudo-code solution and a programmed software solution to the business problem. 1,6 30.00 n/a
Practical/Skills Evaluation Practical 3 – In-lab practical. An examination on the advanced algorithm constructs of the course such as compression and/or cryptography This examination would normally consist of a written description of a business software problem. Learners provide a written pseudo-code solution and a programmed software solution to the business problem, that require using advanced features to demonstrate an understanding of the course algorithms. Task assessed individually in terms of: the design of the application (pseudo-code); the implementation of application (code); the use of advanced algorithmic techniques 3,4,5,6 30.00 n/a
No End of Module Formal Examination

TU Dublin – Tallaght Campus reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Workload Description Hours Frequency Average Weekly Learner Workload
Lecture Class-based Instruction and presentation of course material 2.00 Every Week 2.00
Lab Lab-based Instruction mainly Programming exercises completed using the development IDE 2.00 Every Week 2.00
Independent Learning Completion of Lab Assignments & Reading materials to supplement learning 3.00 Every Week 3.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
Workload: Part Time
Workload Type Workload Description Hours Frequency Average Weekly Learner Workload
Lecture Class-based Instruction and presentation of course material 2.00 Every Week 2.00
Lab Lab-based Instruction mainly Programming exercises completed using the development IDE 1.00 Every Week 1.00
Independent Learning Completion of Lab Assignments & Reading materials to supplement learning 4.00 Every Week 4.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 3.00
 

Module Resources

Required Book Resources
  • Wisnu Anggoro 2018, C++ Data Structures and Algorithms, Packt [ISBN: 9781788835213]
  • Walter Savitch and Kenrick Mock 2015, Absolute C++, 6th Ed., Addison-Wesley Boston [ISBN: 978-0-13-3970]
Recommended Book Resources
  • Gayle Laakmann McDowell 2015, Cracking the Coding Interview, 6 Ed., CareerCup [ISBN: 978-098478285]
  • Michael T. Goodrich, Roberto Tamassia, David M. Mount, 2011, Data Structures and Algorithms in C++, 2nd Ed. [ISBN: 978-0470383278]
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein 2009, Introduction to Algorithms, 3rd Ed., MIT PRess [ISBN: 9780262533058]
  • Mark Allen Weiss 2006, Data Structures and Algorithm Analysis in C+, Addison-Wesley Longman [ISBN: 978-0321441461]
  • Robert C. Seacord 2006, Secure coding in C and C++, Addison-Wesley Upper Saddle River, NJ [ISBN: 978-0-321-33572-2]
  • Narasimha Karumanchi, 2011, Data Structures and Algorithms Made Easy: 700 Data Structure and Algorithmic Puzzles, CreateSpace [ISBN: 978-1456549886]
  • Robert Sedgewick 1998, Algorithms in C++ : Fundamentals, Data Structures, Sorting, Searching, Parts 1-4, 3rd Ed., Addison-Wesley [ISBN: 078-534235088]
  • Robert Sedgewick 1996, An Introduction to the Analysis of Algorithms, Addison-Wesley Professional [ISBN: 978-0-201-40009-0]
Required Article/Paper Resources
  • Mark Allen Weiss 1996, Algorithms, data structures, and problem solving with C++
Recommended Article/Paper Resources
  • Niklaus Wirth 1986, Algorithms and Data Structures
Other Resources
 

Module Delivered in

Programme Code Programme Semester Delivery
TA_KACOI_B Bachelor of Science (Honours) in Computing with Language (French/ German/ Spanish) 7 Mandatory
TA_KACOS_B Bachelor of Science (Honours) in Computing with Software Development 7 Mandatory
TA_KCOSD_B Bachelor of Science (Honours) in Computing with Software Development - Year 4 ( Add on) 1 Mandatory