Long Title:Advanced Programming
Module Code:H7APR
Credits: 5
NFQ Level:LEVEL 7
Field of Study: Software and applications development and analysis
Module Delivered in 1 programme(s)
Module Coordinator:  
Module editor: CRISTINA HAVA MUNTEAN
Teaching and Learning Strategy: Teaching & Learning will take place via a combination of methods including lectures and practical work. Lectures will include in class discussion, problems solving exercises and feedback sessions. Practical sessions will comprise of practical work and individual selfdirected learning.
Learning Environment: Learning will take place in a classroom/lab/workplace environment with access IT resources. Learners will have access to library resources, both physical & electronic and to faculty outside of the classroom where required. Module materials will be placed on Moodle, the College’s virtual learning environment.
Module Description: The aim of this module is to provide a solid foundation in a range of basic algorithms including searching and sorting, and how to assess their computational cost and performance. Students will also develop practical skills in implementing and testing algorithms applied for solving real-world problems making use of emerging technologies and programming languages.
Learning Outcomes
On successful completion of this module the learner will be able to:
LO1 Explain the theory , the concepts and the principles of various elementary algorithms
LO2 Demonstrate the use of good principles of algorithm design
LO3 Use iterative and recursive techniques to design and implement sorting and searching algorithms
LO4 Appropriately apply a variety of algorithms to solve real-world problems
LO5 Conduct in depth algorithm analysis in terms of performance and time complexity of elementary algorithms
Pre-requisite learning
Module Recommendations

This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).

No recommendations listed
Requirements

This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.

No requirements listed
 

Module Content & Assessment

Indicative Content
Algorithms (25%)
• Algorithm design & development • Correctness and Validity • Estimating Efficiency • Time complexity functions • Heuristic algorithms
Searching Algorithms (25%)
• Sequential search • Binary search
Sorting Algorithms (25%)
• Bubble sort • Insertion sort • Selection sort • Mergesort • Quicksort
Recursion (10%)
• Recursive approach • Characteristics of recursive algorithms •• Recursive sorting
Graphs Algorithms(15%)
• Graphs related concepts and representation • Graph Search Methods • Common Graph Algorithms • Dijkstra’s Algorithm
Assessment Breakdown%
Coursework50.00%
End of Module Assessment50.00%

Full Time

Coursework
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
CA 1 (0380) In-class assessments - A practical & a theoretical assessment that assess' knowledge on a no. of sorting algorithms aswell as on techniques to analyse algorithm’s performance. The theoretical assessment may consist of qs that require students to explain & exemplify how a particular sorting algorithm ( e.g. Bubble sort) works on a given set of no.s ( e.g. 50, 3, 40, 2, 25). The practical component requires students to develop an application that implements one of the studied sorting algorithms. For eg, the Insertion sort algorithm is required to be implemented to sort a set of no.s provided as input in reverse order & print the set of no.s after the insertion sort algorithm has been applied 1,2,3,4,5 35.00 n/a
CA 2 (0390) An in-class assessment that will assess knowledge on a set of searching algorithms studied in the class. For example, students will be asked to explain and exemplify how binary search algorithm works on a given set of numbers ( e.g. 3, 14, 30, 40, 67, 100) when searching for a given element from the collection ( e.g. number 40). 1,4,5 15.00 n/a
End of Module Assessment
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Terminal Exam Terminal Exam 1,2,3,4,5 50.00 End-of-Semester
No Workplace Assessment
Reassessment Requirement
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
Reassessment Description
Learners who fail this module will be required to sit a repeat module assessment where all learning outcomes will be examined.

NCIRL 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 No Description 2 Every Week 2.00
Lab No Description 2 Every Week 2.00
Independent Learning Time No Description 6.5 Once per semester 0.54
Total Hours 10.50
Total Weekly Learner Workload 4.54
Total Weekly Contact Hours 4.00
Workload: Part Time
Workload Type Workload Description Hours Frequency Average Weekly Learner Workload
Lecture No Description 2 Every Week 2.00
Independent Learning Time No Description 101 Once per semester 8.42
Total Hours 103.00
Total Weekly Learner Workload 10.42
Total Weekly Contact Hours 2.00
 

Module Resources

Recommended Book Resources
  • Goodrich, M.T. and Tamassia, R 2010, ata Structures and Algorithms in Java, 5th Ed., John Willey A Sons
  • Cormen T.H. Leiserson, R.L. Rivest 2009, Introduction to Algorithms, 3rd Ed., Prentice Hall
Supplementary Book Resources
  • Weiss, M.A 2009, Data Structures and Problem Solving Using Java, 4th Ed., Pearson Addison Wesley
This module does not have any article/paper resources
This module does not have any other resources
 

Module Delivered in

Programme Code Programme Semester Delivery
BSHC BSc (Honours) in Computing 5 Core Subject