Difference between revisions of "BSc: Nature Inspired Computing"

From IU
Jump to navigation Jump to search
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
  +
 
= Nature Inspired Computing =
 
= Nature Inspired Computing =
  +
* '''Course name''': Nature Inspired Computing
  +
* '''Code discipline''': CSE340
  +
* '''Subject area''':
   
  +
== Short Description ==
* <span>'''Course name:'''</span> Nature Inspired Computing
 
  +
This course covers the following concepts: .
* <span>'''Course number:'''</span> CSE340
 
   
== Course characteristics ==
+
== Prerequisites ==
   
=== Key concepts of the class ===
+
=== Prerequisite subjects ===
   
* Turing machines, computational complexity
 
* Approximation algorithms vs heuristics
 
* Evolutionary Algorithms
 
* Classification
 
* Optimization
 
   
  +
=== Prerequisite topics ===
   
=== What is the purpose of this course? ===
 
   
  +
== Course Topics ==
  +
{| class="wikitable"
  +
|+ Course Sections and Topics
  +
|-
  +
! Section !! Topics within the section
  +
|-
  +
| Basic concepts of Nature Inspired Computing ||
  +
# Course Introduction
  +
# Approximation algorithms vs heuristics
  +
# Characteristics of Natural Systems/Algorithms
  +
# Cellular Automata
  +
# Evolutionary Algorithms
  +
# Dynamic Environments
  +
# Genetic Programming
  +
# Symbolic Regression
  +
|-
  +
| Computational complexity, ANN ||
  +
# Turing machines, computational complexity
  +
# NP-hardness
  +
# Reductions
  +
# Learning Classifier Systems
  +
# Co-evolutionary Algorithms
  +
# Fitness Landscape Analysis
  +
# Immunocomputing
  +
# Swarms/Flocking
  +
# Feedforward and Recurrent Networks, Backpropagation
  +
# Spiking Neural Networks
  +
# Self Organizing Maps
  +
# Deep Learning
  +
|-
  +
| Optimization, PSO ||
  +
# Ant Colony Optimization
  +
# Ant Clustering Algorithm
  +
# Particle Swarm Optimization
  +
# Multiobjectiveness
  +
# Foraging Algorithms
  +
# Harmony Search
  +
# Hebbian Learning, Boltzmann Machines
  +
|}
  +
== Intended Learning Outcomes (ILOs) ==
  +
  +
=== What is the main purpose of this course? ===
 
The main purpose of this is to introduce methods and algorithms inspired by naturally occurring phenomena and applying them to optimization, design and learning problems. The course focuses on learning implementation and analysis of such algorithms. These include evolutionary computation, swarm intelligence and neural networks.
 
The main purpose of this is to introduce methods and algorithms inspired by naturally occurring phenomena and applying them to optimization, design and learning problems. The course focuses on learning implementation and analysis of such algorithms. These include evolutionary computation, swarm intelligence and neural networks.
   
  +
=== ILOs defined at three levels ===
== Course Objectives Based on Bloom’s Taxonomy ==
 
 
==== What should a student remember at the end of the course? ====
 
 
By the end of the course, the students should be able to
 
   
  +
==== Level 1: What concepts should a student know/remember/explain? ====
  +
By the end of the course, the students should be able to ...
 
* Basic concepts in Swarm intelligence concepts
 
* Basic concepts in Swarm intelligence concepts
 
* Basic concepts in Global optimization
 
* Basic concepts in Global optimization
 
* Basic concepts in Classification methods
 
* Basic concepts in Classification methods
   
  +
==== Level 2: What basic practical skills should a student be able to perform? ====
 
  +
By the end of the course, the students should be able to ...
==== What should a student be able to understand at the end of the course? ====
 
 
By the end of the course, the students should be able to
 
 
 
* Computational complexity
 
* Computational complexity
 
* Methods of computing computational complexity
 
* Methods of computing computational complexity
 
* Methods of optimization in swarm intelligence
 
* Methods of optimization in swarm intelligence
   
  +
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
 
  +
By the end of the course, the students should be able to ...
==== What should a student be able to apply at the end of the course? ====
 
 
By the end of the course, the students should be able to apply:
 
 
 
* Reductions
 
* Reductions
 
* Empirical Algorithms
 
* Empirical Algorithms
 
* Evolutionary Algorithms
 
* Evolutionary Algorithms
 
* Co-evolutionary Algorithms
 
* Co-evolutionary Algorithms
* Genetic Programming
+
* Genetic Programming
  +
== Grading ==
   
  +
=== Course grading range ===
 
  +
{| class="wikitable"
=== Course evaluation ===
 
  +
|+
 
  +
|-
The course has two major forms of evaluations:
 
  +
! Grade !! Range !! Description of performance
 
  +
|-
<div id="tab:OSCourseGrading">
 
  +
| A. Excellent || 90-100 || -
 
{| style="border-spacing: 2px; border: 1px solid darkgray;"
 
|+ '''Course grade breakdown'''
 
!align="center"| '''Component'''
 
! '''Points'''
 
 
|-
 
|-
  +
| B. Good || 75-89 || -
| Labs/seminar classes
 
|align="center"| 20
 
 
|-
 
|-
  +
| C. Satisfactory || 60-74 || -
| Interim performance assessment (class participation)
 
|align="center"| 30
 
 
|-
 
|-
  +
| D. Poor || 0-59 || -
| Exams
 
|align="center"| 50
 
 
|}
 
|}
</div>
 
   
  +
=== Course activities and grading breakdown ===
=== Grades range ===
 
  +
{| class="wikitable"
 
  +
|+
<div id="tab:OSCourseGradingRange">
 
 
{| style="border-spacing: 2px; border: 1px solid darkgray;"
 
|+ Course grading range
 
 
|-
 
|-
  +
! Activity Type !! Percentage of the overall course grade
| A. Excellent
 
|align="center"| 90-100
 
 
|-
 
|-
  +
| Labs/seminar classes || 20
| B. Good
 
|align="center"| 75-89
 
 
|-
 
|-
  +
| Interim performance assessment (class participation) || 30
| C. Satisfactory
 
|align="center"| 60-74
 
 
|-
 
|-
| D. Poor
+
| Exams || 50
|align="center"| 0-55
 
 
|}
 
|}
   
  +
=== Recommendations for students on how to succeed in the course ===
=== Resources and reference material ===
 
   
* '''Textbook:''' Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, D. Floreano and C. Mattiussi (2008), MIT Press.
 
* '''Textbook:''' Siddique, N. and Adeli, H., 2015. Nature inspired computing: an overview and some future directions. Cognitive computation, 7(6), pp.706-714.
 
* '''Textbook:''' Coello, C.C., Dhaenens, C. and Jourdan, L. eds., 2009. Advances in multi-objective nature inspired computing (Vol. 272). Springer.
 
* '''Textbook:''' Khosravy, M., Gupta, N., Patel, N. and Senjyu, T. eds., 2020. Frontier applications of nature inspired computation. Springer Nature.
 
   
  +
== Resources, literature and reference materials ==
== Course Sections ==
 
   
  +
=== Open access resources ===
The main sections of the course and approximate hour distribution between them is
 
  +
* Textbook: Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, D. Floreano and C. Mattiussi (2008), MIT Press.
as follows:
 
  +
* Textbook: Siddique, N. and Adeli, H., 2015. Nature inspired computing: an overview and some future directions. Cognitive computation, 7(6), pp.706-714.
  +
* Textbook: Coello, C.C., Dhaenens, C. and Jourdan, L. eds., 2009. Advances in multi-objective nature inspired computing (Vol. 272). Springer.
  +
* Textbook: Khosravy, M., Gupta, N., Patel, N. and Senjyu, T. eds., 2020. Frontier applications of nature inspired computation. Springer Nature.
   
  +
=== Closed access resources ===
<div id="tab:OSCourseSections">
 
   
  +
{| style="border-spacing: 2px; border: 1px solid darkgray;"
 
  +
=== Software and tools used within the course ===
|+ Course Sections
 
  +
!align="center"| '''Section'''
 
  +
= Teaching Methodology: Methods, techniques, & activities =
! '''Section Title'''
 
  +
!align="center"| '''Teaching Hours'''
 
  +
== Activities and Teaching Methods ==
  +
{| class="wikitable"
  +
|+ Activities within each section
 
|-
 
|-
  +
! Learning Activities !! Section 1 !! Section 2 !! Section 3
|align="center"| 1
 
| basic concepts of Nature Inspired Computing
 
|align="center"| 12
 
 
|-
 
|-
  +
| Development of individual parts of software product code || 1 || 1 || 1
|align="center"| 2
 
| Computational complexity, ANN
 
|align="center"| 14
 
 
|-
 
|-
  +
| Homework and group projects || 1 || 1 || 1
|align="center"| 3
 
  +
|-
| Optimization, PSO
 
  +
| Midterm evaluation || 1 || 1 || 1
|align="center"| 10
 
|}
+
|-
  +
| Testing (written or computer based) || 1 || 1 || 1
 
  +
|-
 
  +
| Discussions || 1 || 1 || 1
</div>
 
  +
|}
=== Section 1 ===
 
  +
== Formative Assessment and Course Activities ==
 
==== Section title: basic concepts of Nature Inspired Computing ====
 
 
 
==== Topics covered in this section ====
 
 
*Course Introduction
 
*Approximation algorithms vs heuristics
 
*Characteristics of Natural Systems/Algorithms
 
*Cellular Automata
 
*Evolutionary Algorithms
 
*Dynamic Environments
 
*Genetic Programming
 
*Symbolic Regression
 
 
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
   
  +
=== Ongoing performance assessment ===
<div id="tab:OSSectionEval1">
 
   
  +
==== Section 1 ====
{| style="border-spacing: 2px; border: 1px solid darkgray;"
 
  +
{| class="wikitable"
|''' '''
 
  +
|+
! '''Yes/No'''
 
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
| Development of individual parts of software product code
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is an approximation? || 1
| Homework and group projects
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is a heuristics? || 1
| Midterm evaluation
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What are the main Characteristics of Natural Systems/Algorithms? || 1
| Testing (written or computer based)
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What are Cellular Automata? || 1
| Reports
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Give examples of Evolutionary Algorithms || 1
| Essays
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Provide an example of approximation? || 0
| Oral polls
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What is the difference between Approximation algorithms and heuristics || 0
| Discussions
 
|align="center"| 1
 
|}
 
 
 
</div>
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
 
# What is an approximation?
 
# What is a heuristics?
 
# What are the main Characteristics of Natural Systems/Algorithms?
 
# What are Cellular Automata?
 
# Give examples of Evolutionary Algorithms
 
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Provide an example of approximation?
 
# What is the difference between Approximation algorithms and heuristics
 
# Write an Evolutionary Algorithm as a pseudocode
 
# Write a Genetic Algorithm as a pseudocode
 
# What are the characteristics of Genetic Algorithms
 
 
 
==== Test questions for final assessment in this section ====
 
 
# Genetic Algorithms can be used for:
 
#:a. Optimization (correct)
 
#:b. Feedback Control
 
#:c. Automatic Differentiation
 
#:d. Numeric Geometry
 
# Applications of evolutionary algorithms do not include
 
#:a. Robotics
 
#:b. Design
 
#:c. Optimization
 
#:d. Measurements (correct)
 
# Which of the following algorithms suffers from local minima of the objective function
 
#:a. Genetic algorithm
 
#:b. Evolutionary algorithm
 
#:c. Gradient descent (correct)
 
#:d. All three of the above
 
 
 
=== Section 2 ===
 
 
==== Section title: Computational complexity, ANN ====
 
 
 
==== Topics covered in this section ====
 
 
* Turing machines, computational complexity
 
* NP-hardness
 
* Reductions
 
* Learning Classifier Systems
 
* Co-evolutionary Algorithms
 
* Fitness Landscape Analysis
 
* Immunocomputing
 
* Swarms/Flocking
 
* Feedforward and Recurrent Networks, Backpropagation
 
* Spiking Neural Networks
 
* Self Organizing Maps
 
* Deep Learning
 
 
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
 
<div id="tab:OSSectionEval2">
 
 
{| style="border-spacing: 2px; border: 1px solid darkgray;"
 
|''' '''
 
! '''Yes/No'''
 
 
|-
 
|-
  +
| Question || Write an Evolutionary Algorithm as a pseudocode || 0
| Development of individual parts of software product code
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || Write a Genetic Algorithm as a pseudocode || 0
| Homework and group projects
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What are the characteristics of Genetic Algorithms || 0
| Midterm evaluation
 
  +
|}
|align="center"| 1
 
  +
==== Section 2 ====
  +
{| class="wikitable"
  +
|+
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
| Testing (written or computer based)
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What are Turing machines? || 1
| Reports
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What is computational complexity? || 1
| Essays
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What are artificial neural networks? || 1
| Oral polls
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What are Recurrent ANN? || 1
| Discussions
 
|align="center"| 1
 
|}
 
 
 
</div>
 
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
 
# What are Turing machines?
 
# What is computational complexity?
 
# What are artificial neural networks?
 
# What are Recurrent ANN?
 
# What is deep learning?
 
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Give examples of algorithms of different computational complexities
 
# Give example of how one computes computational complexity
 
# What is a basic structure of an ANN?
 
# What is a fully connected ANN?
 
# Draw structure of LSTM RNN
 
 
 
==== Test questions for final assessment in this section ====
 
 
# Which of the following are neural networks architectures?
 
#:a. ANN, RNN, CNN
 
#:b. RNN, CNN, LSTM
 
#:c. RNN, CNN, fully connected (correct)
 
#:d. Reinforcement learning, Supervised learning
 
#Which types of machine learning can be used to learn policies for agents acting in dynamic environments, where marked datasets are not available?
 
#:a. Reinforcement learning, evolutionary algorithms (correct)
 
#:b. YOLO
 
#:c. Cauterization
 
#:d. Supervised learning
 
# What distinguishes deep learning?
 
#:a. The number of layers of the network, and the methods of gradient propagation aiming at lowering the effects of the vanishing gradients (correct)
 
#:b. Fully-connected layers
 
#:c. LSTM cells
 
#:d. Auto-encoding layers
 
 
 
=== Section 3 ===
 
 
==== Section title: Optimization, PSO ====
 
 
 
==== Topics covered in this section ====
 
 
* Ant Colony Optimization
 
* Ant Clustering Algorithm
 
* Particle Swarm Optimization
 
* Multiobjectiveness
 
* Foraging Algorithms
 
* Harmony Search
 
* Hebbian Learning, Boltzmann Machines
 
 
 
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
 
<div id="tab:OSSectionEval2">
 
 
{| style="border-spacing: 2px; border: 1px solid darkgray;"
 
|''' '''
 
! '''Yes/No'''
 
 
|-
 
|-
  +
| Question || What is deep learning? || 1
| Development of individual parts of software product code
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || Give examples of algorithms of different computational complexities || 0
| Homework and group projects
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || Give example of how one computes computational complexity || 0
| Midterm evaluation
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is a basic structure of an ANN? || 0
| Testing (written or computer based)
 
|align="center"| 1
 
 
|-
 
|-
  +
| Question || What is a fully connected ANN? || 0
| Reports
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || Draw structure of LSTM RNN || 0
| Essays
 
  +
|}
|align="center"| 0
 
  +
==== Section 3 ====
  +
{| class="wikitable"
  +
|+
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
| Oral polls
 
|align="center"| 0
 
 
|-
 
|-
  +
| Question || What is a Foraging Algorithm || 1
| Discussions
 
  +
|-
|align="center"| 1
 
  +
| Question || What is PSO? || 1
|}
 
  +
|-
  +
| Question || What is a multi-objective optimization? || 1
  +
|-
  +
| Question || What is Ant Colony Optimization? || 1
  +
|-
  +
| Question || Write PSO as a diagram || 0
  +
|-
  +
| Question || Give example of a problem that can be solved using PSO || 0
  +
|-
  +
| Question || Write a code implementing PSO for a problem with two variables || 0
  +
|-
  +
| Question || How does the number of particles influence PSO performance? || 0
  +
|-
  +
| Question || How do local minima influence PSO performance? || 0
  +
|}
  +
=== Final assessment ===
  +
'''Section 1'''
  +
# Genetic Algorithms can be used for:
  +
#:* Optimization (correct)
  +
#:* Feedback Control
  +
#:* Automatic Differentiation
  +
#:* Numeric Geometry
  +
# Applications of evolutionary algorithms do not include
  +
#:* Robotics
  +
#:* Design
  +
#:* Optimization
  +
#:* Measurements (correct)
  +
# Which of the following algorithms suffers from local minima of the objective function
  +
#:* Genetic algorithm
  +
#:* Evolutionary algorithm
  +
#:* Gradient descent (correct)
  +
#:* All three of the above
   
  +
'''Section 2'''
  +
# Which of the following are neural networks architectures?
  +
#:* ANN, RNN, CNN
  +
#:* RNN, CNN, LSTM
  +
#:* RNN, CNN, fully connected (correct)
  +
#:* Reinforcement learning, Supervised learning
  +
# Which types of machine learning can be used to learn policies for agents acting in dynamic environments, where marked datasets are not available?
  +
#:* Reinforcement learning, evolutionary algorithms (correct)
  +
#:* YOLO
  +
#:* Cauterization
  +
#:* Supervised learning
  +
# What distinguishes deep learning?
  +
#:* The number of layers of the network, and the methods of gradient propagation aiming at lowering the effects of the vanishing gradients (correct)
  +
#:* Fully-connected layers
  +
#:* LSTM cells
  +
#:* Auto-encoding layers
   
  +
'''Section 3'''
</div>
 
  +
# Which of the following can be used to solve optimization problems?
 
  +
#:* PSO, Genetic algorithm (correct)
 
  +
#:* CNN, PSO
==== Typical questions for ongoing performance evaluation within this section ====
 
  +
#:* CNN
 
  +
#:* RNN, PSO
# What is a Foraging Algorithm
 
  +
# Which of the following can be used to find acceptable parameters of a process, given inequality constraints?
# What is PSO?
 
  +
#:* PSO, Genetic algorithm (correct)
# What is a multi-objective optimization?
 
  +
#:* CNN, PSO
# What is Ant Colony Optimization?
 
  +
#:* CNN
 
  +
#:* RNN, PSO
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Write PSO as a diagram
 
# Give example of a problem that can be solved using PSO
 
# Write a code implementing PSO for a problem with two variables
 
# How does the number of particles influence PSO performance?
 
# How do local minima influence PSO performance?
 
 
   
  +
=== The retake exam ===
  +
'''Section 1'''
   
  +
'''Section 2'''
==== Test questions for final assessment in this section ====
 
   
  +
'''Section 3'''
# Which of the following can be used to solve optimization problems?
 
#:a. PSO, Genetic algorithm (correct)
 
#:b. CNN, PSO
 
#:c. CNN
 
#:d. RNN, PSO
 
# Which of the following can be used to find acceptable parameters of a process, given inequality constraints?
 
#:a. PSO, Genetic algorithm (correct)
 
#:b. CNN, PSO
 
#:c. CNN
 
#:d. RNN, PSO
 

Latest revision as of 11:39, 13 December 2022

Nature Inspired Computing

  • Course name: Nature Inspired Computing
  • Code discipline: CSE340
  • Subject area:

Short Description

This course covers the following concepts: .

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Basic concepts of Nature Inspired Computing
  1. Course Introduction
  2. Approximation algorithms vs heuristics
  3. Characteristics of Natural Systems/Algorithms
  4. Cellular Automata
  5. Evolutionary Algorithms
  6. Dynamic Environments
  7. Genetic Programming
  8. Symbolic Regression
Computational complexity, ANN
  1. Turing machines, computational complexity
  2. NP-hardness
  3. Reductions
  4. Learning Classifier Systems
  5. Co-evolutionary Algorithms
  6. Fitness Landscape Analysis
  7. Immunocomputing
  8. Swarms/Flocking
  9. Feedforward and Recurrent Networks, Backpropagation
  10. Spiking Neural Networks
  11. Self Organizing Maps
  12. Deep Learning
Optimization, PSO
  1. Ant Colony Optimization
  2. Ant Clustering Algorithm
  3. Particle Swarm Optimization
  4. Multiobjectiveness
  5. Foraging Algorithms
  6. Harmony Search
  7. Hebbian Learning, Boltzmann Machines

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

The main purpose of this is to introduce methods and algorithms inspired by naturally occurring phenomena and applying them to optimization, design and learning problems. The course focuses on learning implementation and analysis of such algorithms. These include evolutionary computation, swarm intelligence and neural networks.

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Basic concepts in Swarm intelligence concepts
  • Basic concepts in Global optimization
  • Basic concepts in Classification methods

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • Computational complexity
  • Methods of computing computational complexity
  • Methods of optimization in swarm intelligence

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Reductions
  • Empirical Algorithms
  • Evolutionary Algorithms
  • Co-evolutionary Algorithms
  • Genetic Programming

Grading

Course grading range

Grade Range Description of performance
A. Excellent 90-100 -
B. Good 75-89 -
C. Satisfactory 60-74 -
D. Poor 0-59 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 20
Interim performance assessment (class participation) 30
Exams 50

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

  • Textbook: Bio-Inspired Artificial Intelligence: Theories, Methods, and Technologies, D. Floreano and C. Mattiussi (2008), MIT Press.
  • Textbook: Siddique, N. and Adeli, H., 2015. Nature inspired computing: an overview and some future directions. Cognitive computation, 7(6), pp.706-714.
  • Textbook: Coello, C.C., Dhaenens, C. and Jourdan, L. eds., 2009. Advances in multi-objective nature inspired computing (Vol. 272). Springer.
  • Textbook: Khosravy, M., Gupta, N., Patel, N. and Senjyu, T. eds., 2020. Frontier applications of nature inspired computation. Springer Nature.

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3
Development of individual parts of software product code 1 1 1
Homework and group projects 1 1 1
Midterm evaluation 1 1 1
Testing (written or computer based) 1 1 1
Discussions 1 1 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question What is an approximation? 1
Question What is a heuristics? 1
Question What are the main Characteristics of Natural Systems/Algorithms? 1
Question What are Cellular Automata? 1
Question Give examples of Evolutionary Algorithms 1
Question Provide an example of approximation? 0
Question What is the difference between Approximation algorithms and heuristics 0
Question Write an Evolutionary Algorithm as a pseudocode 0
Question Write a Genetic Algorithm as a pseudocode 0
Question What are the characteristics of Genetic Algorithms 0

Section 2

Activity Type Content Is Graded?
Question What are Turing machines? 1
Question What is computational complexity? 1
Question What are artificial neural networks? 1
Question What are Recurrent ANN? 1
Question What is deep learning? 1
Question Give examples of algorithms of different computational complexities 0
Question Give example of how one computes computational complexity 0
Question What is a basic structure of an ANN? 0
Question What is a fully connected ANN? 0
Question Draw structure of LSTM RNN 0

Section 3

Activity Type Content Is Graded?
Question What is a Foraging Algorithm 1
Question What is PSO? 1
Question What is a multi-objective optimization? 1
Question What is Ant Colony Optimization? 1
Question Write PSO as a diagram 0
Question Give example of a problem that can be solved using PSO 0
Question Write a code implementing PSO for a problem with two variables 0
Question How does the number of particles influence PSO performance? 0
Question How do local minima influence PSO performance? 0

Final assessment

Section 1

  1. Genetic Algorithms can be used for:
    • Optimization (correct)
    • Feedback Control
    • Automatic Differentiation
    • Numeric Geometry
  2. Applications of evolutionary algorithms do not include
    • Robotics
    • Design
    • Optimization
    • Measurements (correct)
  3. Which of the following algorithms suffers from local minima of the objective function
    • Genetic algorithm
    • Evolutionary algorithm
    • Gradient descent (correct)
    • All three of the above

Section 2

  1. Which of the following are neural networks architectures?
    • ANN, RNN, CNN
    • RNN, CNN, LSTM
    • RNN, CNN, fully connected (correct)
    • Reinforcement learning, Supervised learning
  2. Which types of machine learning can be used to learn policies for agents acting in dynamic environments, where marked datasets are not available?
    • Reinforcement learning, evolutionary algorithms (correct)
    • YOLO
    • Cauterization
    • Supervised learning
  3. What distinguishes deep learning?
    • The number of layers of the network, and the methods of gradient propagation aiming at lowering the effects of the vanishing gradients (correct)
    • Fully-connected layers
    • LSTM cells
    • Auto-encoding layers

Section 3

  1. Which of the following can be used to solve optimization problems?
    • PSO, Genetic algorithm (correct)
    • CNN, PSO
    • CNN
    • RNN, PSO
  2. Which of the following can be used to find acceptable parameters of a process, given inequality constraints?
    • PSO, Genetic algorithm (correct)
    • CNN, PSO
    • CNN
    • RNN, PSO

The retake exam

Section 1

Section 2

Section 3