Difference between revisions of "IU:TestPage"

From IU
Jump to navigation Jump to search
Tag: Manual revert
Line 1: Line 1:
   
  +
= Theoretical Computer Science =
= Analytical Geometry \& Linear Algebra -- II =
 
* Course name: Analytical Geometry \& Linear Algebra -- II
+
* Course name: Theoretical Computer Science
* Course number: XYZ
+
* Course number: BS-18
   
 
== Course Characteristics ==
 
== Course Characteristics ==
   
 
=== Key concepts of the class ===
 
=== Key concepts of the class ===
  +
* Automata Theory
* fundamental principles of linear algebra,
 
  +
* Formal Grammars
* concepts of linear algebra objects and their representation in vector-matrix form
 
  +
* Computability
   
 
=== What is the purpose of this course? ===
 
=== What is the purpose of this course? ===
  +
A good software developer ignorant of how the mechanics of a compiler works is not better than a good pilot when it comes to fix the engine and he will definitively not be able to provide more than average solutions to the problems he is employed to solve. Like automotive engineering teach us, races can only be won by the right synergy of a good driving style and mechanics. Most importantly, limits of computation cannot be ignored in the same way we precisely know how accelerations, forces and frictions prevent us from racing at an unlimited speed. This course will investigate the prerequisites to understand compilers functioning. Although the act of compilation appears deceptively simple to most of the modern developers, great minds and results are behind the major achievements that made this possible. All starts with the Epimenides paradox (about 600 BC), which emphasizes a problem of self-reference in logic and brings us to the short time window between WWI and WW2 when, in 1936, Alan Turing proved that a general procedure to identify algorithm termination simply does not exist. Another major milestone has been reached by Noam Chomsky in 1956 with his description of a hierarchy of grammars. In this long historical timeframe we can put most of the bricks with which we build modern compilers. The course will be an historical tour through the lives of some of the greatest minds who ever lived on this planet.
This course covers matrix theory and linear algebra, emphasizing topics useful in other disciplines. Linear algebra is a branch of mathematics that studies systems of linear equations and the properties of matrices. The concepts of linear algebra are extremely useful in physics, data sciences, and robotics. Due to its broad range of applications, linear algebra is one of the most widely used subjects in mathematics.
 
=== 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
 
* List basic notions of linear algebra
 
* Understand key principles involved in solution of linear equation systems and the properties of matrices
 
* Linear regression analysis
 
* Fast Fourier Transform
 
* How to find eigenvalues and eigenvectors for matrix diagonalization and single value decomposition
 
 
==== - 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
 
* Key principles involved in solution of linear equation systems and the properties of matrices
 
* Become familiar with the four fundamental subspaces
 
* Linear regression analysis
 
* Fast Fourier Transform
 
* How to find eigenvalues and eigenvectors for matrix diagonalization and single value decomposition
 
 
==== - 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
 
* Linear equation system solving by using the vector-matrix approach
 
* Make linear regression analysis
 
* Fast Fourier Transform
 
* To find eigenvalues and eigenvectors for matrix diagonalization and single value decomposition
 
=== Course evaluation ===
 
{| class="wikitable"
 
|+ Course grade breakdown
 
|-
 
! type !! points
 
|-
 
| Labs/seminar classes || 20
 
|-
 
| Interim performance assessment || 30
 
|-
 
| Exams || 50
 
|}
 
 
=== Grades range ===
 
{| class="wikitable"
 
|+ Course grading range
 
|-
 
! grade !! low !! high
 
|-
 
| A || 85 || 100
 
|-
 
| B || 65 || 84
 
|-
 
| C || 50 || 64
 
|-
 
| D || 0 || 49
 
|}
 
=== Resources and reference material ===
 
* Gilbert Strang. Linear Algebra and Its Applications, 4th Edition, Brooks Cole, 2006. ISBN: 9780030105678
 
* Gilbert Strang. Introduction to Linear Algebra, 4th Edition, Wellesley, MA: Wellesley-Cambridge Press, 2009. ISBN: 9780980232714
 
== Course Sections ==
 
The main sections of the course and approximate hour distribution between them is as follows:
 
=== Section 1 ===
 
 
==== Section title ====
 
Linear equation system solving by using the vector-matrix approach
 
 
==== Topics covered in this section ====
 
* The geometry of linear equations. Elimination with matrices.
 
* Matrix operations, including inverses. <math>LU</math> and <math>LDU</math> factorization.
 
* Transposes and permutations. Vector spaces and subspaces.
 
* The null space: Solving <math>Ax = 0</math> and <math>Ax = b</math>. Row reduced echelon form. Matrix rank.
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software product code || 1
 
|-
 
| Homework and group projects || 1
 
|-
 
| Midterm evaluation || 1
 
|-
 
| Testing (written or computer based) || 1
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# How to perform Gauss elimination?
 
# How to perform matrices multiplication?
 
# How to perform LU factorization?
 
# How to find complete solution for any linear equation system Ax=b?
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Find the solution for the given linear equation system <math>Ax=b</math> by using Gauss elimination.
 
# Perform <math>A=LU</math> factorization for the given matrix <math>A</math>.
 
# Factor the given symmetric matrix <math>A</math> into <math>A=LDL^T</math> with the diagonal pivot matrix <math>D</math>.
 
# Find inverse matrix <math>A^-1</math> for the given matrix <math>A</math>.
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Find linear independent vectors (exclude dependent): <math>\overrightarrow{a}=[4,0,3,2]^T</math>, <math>\overrightarrow{b}=[1,-7,4,5]^T</math>, <math>\overrightarrow{c}=[7,1,5,3]^T</math>, <math>\overrightarrow{d}=[-5,-3,-3,-1]^T</math>, <math>\overrightarrow{e}=[1,-5,2,3]^T</math>. Find <math>rank(A)</math> if <math>A</math> is a composition of this vectors. Find <math>rank(A^T)</math>.
 
# Find <math>E</math>: <math>EA=U</math> (<math>U</math> – upper-triangular matrix). Find <math>L=E^-1</math>, if <math>A=\left( \begin{array}{ccc} 2 & 5 & 7 \\ 6 & 4 & 9 \\ 4 & 1 & 8 \\ \end{array} \right)</math>.
 
# Find complete solution for the system <math>Ax=b</math>, if <math>b=[7,18,5]^T</math> and <math>A=\left( \begin{array}{cccc} 6 & -2 & 1 & -4 \\ 4 & 2 & 14 & -31 \\ 2 & -1 & 3 & -7 \\ \end{array} \right)</math>. Provide an example of vector b that makes this system unsolvable.
 
=== Section 2 ===
 
 
==== Section title ====
 
Linear regression analysis and decomposition <math>A=QR</math>.
 
 
==== Topics covered in this section ====
 
* Independence, basis and dimension. The four fundamental subspaces.
 
* Orthogonal vectors and subspaces. Projections onto subspaces
 
* Projection matrices. Least squares approximations. Gram-Schmidt and A = QR.
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software product code || 1
 
|-
 
| Homework and group projects || 1
 
|-
 
| Midterm evaluation || 1
 
|-
 
| Testing (written or computer based) || 1
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# What is linear independence of vectors?
 
# Define the four fundamental subspaces of a matrix?
 
# How to define orthogonal vectors and subspaces?
 
# How to define orthogonal complements of the space?
 
# How to find vector projection on a subspace?
 
# How to perform linear regression for the given measurements?
 
# How to find an orthonormal basis for the subspace spanned by the given vectors?
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Check out linear independence of the given vectors
 
# Find four fundamental subspaces of the given matrix.
 
# Check out orthogonality of the given subspaces.
 
# Find orthogonal complement for the given subspace.
 
# Find vector projection on the given subspace.
 
# Perform linear regression for the given measurements.
 
# Find an orthonormal basis for the subspace spanned by the given vectors.
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Find the dimensions of the four fundamental subspaces associated with <math>A</math>, depending on the parameters <math>a</math> and <math>b</math>: <math>A=\left( \begin{array}{cccc} 7 & 8 & 5 & 3 \\ 4 & a & 3 & 2 \\ 6 & 8 & 4 & b \\ 3 & 4 & 2 & 1 \\ \end{array} \right)</math>.
 
# Find a vector <math>x</math> orthogonal to the Row space of matrix <math>A</math>, and a vector <math>y</math> orthogonal to the <math>C(A)</math>, and a vector <math>z</math> orthogonal to the <math>N(A)</math>: <math>A=\left( \begin{array}{ccc} 1 & 2 & 2 \\ 3 & 4 & 2 \\ 4 & 6 & 4 \\ \end{array} \right)</math>.
 
# Find the best straight-line <math>y(x)</math> fit to the measurements: <math>y(-2)=4</math>, <math>y(-1)=3</math>, <math>y(0)=2</math>, <math>y(1)-0</math>.
 
# Find the projection matrix <math>P</math> of vector <math>[4,3,2,0]^T</math> onto the <math>C(A)</math>: <math>A=\left( \begin{array}{cc} 1 & -2 \\ 1 & -1 \\ 1 & 0 \\ 1 & 1 \\ \end{array} \right)</math>.
 
# Find an orthonormal basis for the subspace spanned by the vectors: <math>\overrightarrow{a}=[-2,2,0,0]^T</math>, <math>\overrightarrow{b}=[0,1,-1,0]^T</math>, <math>\overrightarrow{c}=[0,1,0,-1]^T</math>. Then express <math>A=[a,b,c]</math> in the form of <math>A=QR</math>
 
=== Section 3 ===
 
 
==== Section title ====
 
Fast Fourier Transform. Matrix Diagonalization.
 
 
==== Topics covered in this section ====
 
* Complex Numbers. Hermitian and Unitary Matrices.
 
* Fourier Series. The Fast Fourier Transform
 
* Eigenvalues and eigenvectors. Matrix diagonalization.
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software product code || 1
 
|-
 
| Homework and group projects || 1
 
|-
 
| Midterm evaluation || 1
 
|-
 
| Testing (written or computer based) || 1
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# Make the definition of Hermitian Matrix.
 
# Make the definition of Unitary Matrix.
 
# How to find matrix for the Fourier transform?
 
# When we can make fast Fourier transform?
 
# How to find eigenvalues and eigenvectors of a matrix?
 
# How to diagonalize a square matrix?
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Check out is the given matrix Hermitian.
 
# Check out is the given matrix Unitary.
 
# Find the matrix for the given Fourier transform.
 
# Find eigenvalues and eigenvectors for the given matrix.
 
# Find diagonalize form for the given matrix.
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Find eigenvector of the circulant matrix <math>C</math> for the eigenvalue = <math>{c}_1</math>+<math>{c}_2</math>+<math>{c}_3</math>+<math>{c}_4</math>: <math>C=\left( \begin{array}{cccc} {c}_1 & {c}_2 & {c}_3 & {c}_4 \\ {c}_4 & {c}_1 & {c}_2 & {c}_3 \\ {c}_3 & {c}_4 & {c}_1 & {c}_2 \\ {c}_2 & {c}_3 & {c}_4 & {c}_1 \\ \end{array} \right)</math>.
 
# Diagonalize this matrix: <math>A=\left( \begin{array}{cc} 2 & 1-i \\ 1+i & 3 \\ \end{array} \right)</math>.
 
# <math>A</math> is the matrix with full set of orthonormal eigenvectors. Prove that <math>AA=A^HA^H</math>.
 
# Find all eigenvalues and eigenvectors of the cyclic permutation matrix <math>P=\left( \begin{array}{cccc} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ \end{array} \right)</math>.
 
=== Section 4 ===
 
 
==== Section title ====
 
Symmetric, positive definite and similar matrices. Singular value decomposition.
 
 
==== Topics covered in this section ====
 
* Linear differential equations.
 
* Symmetric matrices. Positive definite matrices.
 
* Similar matrices. Left and right inverses, pseudoinverse. Singular value decomposition (SVD).
 
 
==== What forms of evaluation were used to test students’ performance in this section? ====
 
{| class="wikitable"
 
|+
 
|-
 
! Form !! Yes/No
 
|-
 
| Development of individual parts of software product code || 1
 
|-
 
| Homework and group projects || 1
 
|-
 
| Midterm evaluation || 1
 
|-
 
| Testing (written or computer based) || 1
 
|-
 
| Reports || 0
 
|-
 
| Essays || 0
 
|-
 
| Oral polls || 0
 
|-
 
| Discussions || 1
 
|}
 
 
==== Typical questions for ongoing performance evaluation within this section ====
 
# How to solve linear differential equations?
 
# Make the definition of symmetric matrix?
 
# Make the definition of positive definite matrix?
 
# Make the definition of similar matrices?
 
# How to find left and right inverses matrices, pseudoinverse matrix?
 
# How to make singular value decomposition of the matrix?
 
 
==== Typical questions for seminar classes (labs) within this section ====
 
# Find solution of the linear differential equation.
 
# Make the definition of symmetric matrix.
 
# Check out the given matrix on positive definess
 
# Check out the given matrices on similarity.
 
# For the given matrix find left and right inverse matrices, pseudoinverse matrix.
 
# Make the singular value decomposition of the given matrix.
 
 
==== Tasks for midterm assessment within this section ====
 
 
 
==== Test questions for final assessment in this section ====
 
# Find <math>det(e^A)</math> for <math>A=\left( \begin{array}{cc} 2 & 1 \\ 2 & 3 \\ \end{array} \right)</math>.
 
# Write down the first order equation system for the following differential equation and solve it: <math>d^3y/dx+d^2y/dx-2dy/dx=0</math> <math>y"(0)=6</math>, <math>y'(0)=0</math>, <math>y(0)=3</math>. Is the solution of this system will be stable?
 
# For which <math>a</math> and <math>b</math> quadratic form <math>Q(x,y,z)</math> is positive definite: <math>Q(x,y,z)=ax^2+y^2+2z^2+2bxy+4xz</math>
 
# Find the SVD and the pseudoinverse of the matrix <math>A=\left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 1 \\ \end{array} \right)</math>.
 

Revision as of 16:52, 24 March 2022

Theoretical Computer Science

  • Course name: Theoretical Computer Science
  • Course number: BS-18

Course Characteristics

Key concepts of the class

  • Automata Theory
  • Formal Grammars
  • Computability

What is the purpose of this course?

A good software developer ignorant of how the mechanics of a compiler works is not better than a good pilot when it comes to fix the engine and he will definitively not be able to provide more than average solutions to the problems he is employed to solve. Like automotive engineering teach us, races can only be won by the right synergy of a good driving style and mechanics. Most importantly, limits of computation cannot be ignored in the same way we precisely know how accelerations, forces and frictions prevent us from racing at an unlimited speed. This course will investigate the prerequisites to understand compilers functioning. Although the act of compilation appears deceptively simple to most of the modern developers, great minds and results are behind the major achievements that made this possible. All starts with the Epimenides paradox (about 600 BC), which emphasizes a problem of self-reference in logic and brings us to the short time window between WWI and WW2 when, in 1936, Alan Turing proved that a general procedure to identify algorithm termination simply does not exist. Another major milestone has been reached by Noam Chomsky in 1956 with his description of a hierarchy of grammars. In this long historical timeframe we can put most of the bricks with which we build modern compilers. The course will be an historical tour through the lives of some of the greatest minds who ever lived on this planet.