CSC2032 : Algorithm Design and Analysis (Inactive)
- Inactive for Year: 2019/20
- Module Leader(s): Dr Jason Steggles
- Lecturer: Dr Changyu Dong
- Owning School: Computing
- Teaching Location: Newcastle City Campus
|Semester 1 Credit Value:||10|
Knowledge of a range of key application areas where algorithmic solutions are required.
Understand the key issues in algorithm design.
Understand what makes a "good" algorithm.
Explore range of techniques that can be employed in the design of various types of algorithm.
Analyse the properties of key algorithms in terms of their time and space complexity.
Provide practical experience of implementing a range of algorithms.
Outline Of Syllabus
• Numerical algorithms (root finding)
• Search algorithms (sequential, binary search, binary search trees, hashing)
• Sorting algorithms (selection, insertion, Quicksort)
• String searching algorithms (brute force, Knuth Morris Pratt, Boyer Moore)
• Graphs (Depth- and breadth-first traversals, shortest-path algorithms, minimum spanning tree)
• Asymptotic analysis of upper and average complexity bounds
• Identifying differences among best, average, and worst case behaviours
• Standard complexity classes
• Time and space tradeoffs in algorithms
• Using recurrence relations to analyze recursive algorithms
• NP Complete problems
Algorithm Design Techniques:
• Brute-force algorithms
• Greedy algorithms
|Guided Independent Study||Assessment preparation and completion||35||1:00||35:00||Lecture follow-up|
|Guided Independent Study||Assessment preparation and completion||25||0:30||12:30||Revision for end of semester exam|
|Guided Independent Study||Assessment preparation and completion||1||1:30||1:30||End of semester examination|
|Guided Independent Study||Assessment preparation and completion||12||1:00||12:00||Formative assessment|
|Scheduled Learning And Teaching Activities||Lecture||22||1:00||22:00||Lectures|
|Scheduled Learning And Teaching Activities||Small group teaching||12||1:00||12:00||Tutorials|
|Guided Independent Study||Project work||1||5:00||5:00||Coursework|
Teaching Rationale And Relationship
Tutorials will be used to provide the opportunity for students to gain practical skills and understanding in the theory and techniques developed during lectures.
Exams provide a formal assessment of underlying techniques, and coursework assesses the application of skills to algorithmic problems.
The format of resits will be determined by the Board of Examiners
|Practical/lab report||1||M||20||Single implementation assignment equivalent to 1000 words.|
|Lab exercise||1||M||Exercise set as part of each tutorial as appropriate|
|Practical/lab report||1||M||Sample exam paper|
Assessment Rationale And Relationship
The PC exam will be used to assess students' understanding and ability to apply the knowledge, theory and techniques covered in the course. The coursework assignment will be used to help develop and assess students' understanding of and abilities to practically apply knowledge and techniques covered on the course.
A range of formative assessments are used to support student’s self-study during the module and gauge their understanding as the course progresses.
NB. This module has both “Exam assessment” and “Other assessment” (e.g. coursework). If the total mark for either falls below 35%, the maximum mark returned for the module will normally be 35%