Difference between revisions of "BSc:Advanced Algorithms"

From IU
Jump to navigation Jump to search
(Created page with "# Advanced Algorithms - **Course name:** Advanced Algorithms - **Course number:** XYZ - **Knowledge area:** Algorithms and Complexity, Programming Languages, Soft...")
 
 
Line 1: Line 1:
# Advanced Algorithms
+
= Advanced Algorithms =
   
- **Course name:** Advanced Algorithms
+
* <span>'''Course name:'''</span> Advanced Algorithms
  +
* <span>'''Course number:'''</span> XYZ
  +
* <span>'''Knowledge area:'''</span> Algorithms and Complexity, Programming Languages, Software Development Fundamentals
   
  +
== Administrative details ==
- **Course number:** XYZ
 
   
  +
* <span>'''Faculty:'''</span> Computer Science and Engineering
- **Knowledge area:** Algorithms and Complexity, Programming
 
  +
* <span>'''Year of instruction:'''</span> 4th year of BS
Languages, Software Development Fundamentals
 
  +
* <span>'''Semester of instruction:'''</span> 2nd semester
  +
* <span>'''No. of Credits:'''</span> 4 ECTS
  +
* <span>'''Total workload on average:'''</span> 144 hours overall
  +
* <span>'''Class lecture hours:'''</span> 2 per week
  +
* <span>'''Class tutorial hours:'''</span> 2 per week
  +
* <span>'''Lab hours:'''</span> 2 per week
  +
* <span>'''Individual lab hours:'''</span> 0
  +
* <span>'''Frequency:'''</span> weekly throughout the semester
  +
* <span>'''Grading mode:'''</span> letters: A, B, C, D
   
  +
== Prerequisites ==
## Administrative details
 
   
  +
* Data Structures and Algorithms I
- **Faculty:** Computer Science and Engineering
 
  +
* Data Structures and Algorithms II
   
  +
== Course outline ==
- **Year of instruction:** 4th year of BS
 
   
  +
Advance Algorithms is a fundamental and important part of computer engineering. This course introduces different methodologies used to solve real world problems. Limitations on solving problems efficiently are also analyzed critically, with emphasis on NP-Complete problems and the theory of complexity. In depth coverage will be made regarding Dynamic Programming and Greedy Algorithms. We shall try to solve various problems using different techniques and shall establish important relationships between algorithms belonging to different categories.
- **Semester of instruction:** 2nd semester
 
   
  +
== Expected learning outcomes ==
- **No. of Credits:** 4 ECTS
 
   
  +
This course will train you to apply advance techniques and algorithms to solve the real-world problem. After this course, you will be able to:
- **Total workload on average:** 144 hours overall
 
   
  +
* Analyze the nature of the problem and formulate the solution
- **Class lecture hours:** 2 per week
 
  +
* Understand advanced theories and techniques
  +
* Sound knowledge about the core of algorithms
  +
* Exposure to NP-complete problems
  +
* Design an appropriate algorithm and analysis for the problem at hand
   
  +
== Expected acquired core competences ==
- **Class tutorial hours:** 2 per week
 
   
  +
* Complexity
- **Lab hours:** 2 per week
 
  +
* Algorithmic design
  +
* Addressing high-complexity (NP-complete) problems
   
  +
== Textbook ==
- **Individual lab hours:** 0
 
   
  +
*
- **Frequency:** weekly throughout the semester
 
   
  +
== Reference material ==
- **Grading mode:** letters: A, B, C, D
 
   
  +
*
## Prerequisites
 
  +
*
   
  +
== Required computer resources ==
- Data Structures and Algorithms I
 
 
- Data Structures and Algorithms II
 
 
## Course outline
 
 
Advance Algorithms is a fundamental and important part of computer
 
engineering. This course introduces different methodologies used to
 
solve real world problems. Limitations on solving problems efficiently
 
are also analyzed critically, with emphasis on NP-Complete problems and
 
the theory of complexity. In depth coverage will be made regarding
 
Dynamic Programming and Greedy Algorithms. We shall try to solve various
 
problems using different techniques and shall establish important
 
relationships between algorithms belonging to different categories.
 
 
## Expected learning outcomes
 
 
This course will train you to apply advance techniques and algorithms to
 
solve the real-world problem. After this course, you will be able to:
 
 
- Analyze the nature of the problem and formulate the solution
 
 
- Understand advanced theories and techniques
 
 
- Sound knowledge about the core of algorithms
 
 
- Exposure to NP-complete problems
 
 
- Design an appropriate algorithm and analysis for the problem at hand
 
 
## Expected acquired core competences
 
 
- Complexity
 
 
- Algorithmic design
 
 
- Addressing high-complexity (NP-complete) problems
 
 
## Textbook
 
 
-
 
 
## Reference material
 
 
-
 
-
 
 
## Required computer resources
 
   
 
Not applicable
 
Not applicable
   
## Evaluation
+
== Evaluation ==
 
- 10% Homework
 
 
- 20% Quiz
 
 
- 25% Midterm Exam
 
   
  +
* 10% Homework
- 40% Final Project
 
  +
* 20% Quiz
  +
* 25% Midterm Exam
  +
* 40% Final Project

Latest revision as of 00:57, 30 July 2021

Advanced Algorithms

  • Course name: Advanced Algorithms
  • Course number: XYZ
  • Knowledge area: Algorithms and Complexity, Programming Languages, Software Development Fundamentals

Administrative details

  • Faculty: Computer Science and Engineering
  • Year of instruction: 4th year of BS
  • Semester of instruction: 2nd semester
  • No. of Credits: 4 ECTS
  • Total workload on average: 144 hours overall
  • Class lecture hours: 2 per week
  • Class tutorial hours: 2 per week
  • Lab hours: 2 per week
  • Individual lab hours: 0
  • Frequency: weekly throughout the semester
  • Grading mode: letters: A, B, C, D

Prerequisites

  • Data Structures and Algorithms I
  • Data Structures and Algorithms II

Course outline

Advance Algorithms is a fundamental and important part of computer engineering. This course introduces different methodologies used to solve real world problems. Limitations on solving problems efficiently are also analyzed critically, with emphasis on NP-Complete problems and the theory of complexity. In depth coverage will be made regarding Dynamic Programming and Greedy Algorithms. We shall try to solve various problems using different techniques and shall establish important relationships between algorithms belonging to different categories.

Expected learning outcomes

This course will train you to apply advance techniques and algorithms to solve the real-world problem. After this course, you will be able to:

  • Analyze the nature of the problem and formulate the solution
  • Understand advanced theories and techniques
  • Sound knowledge about the core of algorithms
  • Exposure to NP-complete problems
  • Design an appropriate algorithm and analysis for the problem at hand

Expected acquired core competences

  • Complexity
  • Algorithmic design
  • Addressing high-complexity (NP-complete) problems

Textbook

Reference material

Required computer resources

Not applicable

Evaluation

  • 10% Homework
  • 20% Quiz
  • 25% Midterm Exam
  • 40% Final Project