Fundamentals of Programming and Knowledge Extraction
COURSE DESCRIPTION
Teaching: 12 hours
ECTS: 3
Course Aim:
Clearly understand basic concepts related to
programming, algorithms, usage of computers and knowledge extraction (data
mining). Adapt basic programming methods for text processing, technical
programming and knowledge extraction.
Course Content:
Data types and structures, Turing machine, algorithms and their complexity,
compilers, interpreters, object programming.
Structure of computer memory and its effect on program development.
Programming for text processing (HTML, LaTeX, XML).
Basics of technical computing (Matlab).
Clustering of data (graphs) by search (k-means method), Fiedler vector and
principal component analysis, vector space model and applications to textual
data.
Image compression using singular value decomposition.
Introduction to compressive sensing.
Generic and Specific Competences:
Ability to analyze algorithmic problems with respect to their complexity and
to choose an adequate solution method. Understanding text processing programs
and
ability to use them. Understanding technical programs and ability to design
and apply programs for data analysis. Understanding algorithms for knowledge
extraction and ability to use them in research.
FIRST HOMEWORK - HTML and JavaScript
SECOND HOMEWORK - Sorting in Matlab, LaTeX
LITERATURE
-
Mitra S, Acharya T, Data Mining - Multimedia, Soft Computing and
Bioinformatics, John Wiley & Sons, 2003.
-
Sigmon K, MATLAB Primer, Third Edition, University of Florida, Gainesville,
1993.
(pdf)
-
Oetiker T, Partl H, Hyna I, Schlegl E, The Not So Short Introduction to
LaTeX2e, 1999.
(pdf)
-
Berry MW, Drmač Z, Jessup ER, Matrices, Vector Spaces and Information
Retrieval, SIAM Review, 41 (1999) 335-362.
(pdf)
-
The Java Tutorials
(link)
-
Ding HQ, Zha H, He X, Husbands P, Simon HD, Link analysis: Hubs and
Authorities on the World Wide Web, SIAM Review, 46 (2004) 256-269.
(pdf)
-
Langville AN, Meyer CD, A Survey of Eigenvector Methods for Web Information
Retrieval, SIAM Review, 47 (2005) 135-161.
(pdf)
- Compressive sensing tutorials and reviews by Emmanuel Candès,
Richard Baraniuk,
Emmanuel Candès and Michael Wakin,
Justin Romberg, and
Dana Mackenzie, from the Rice University
Compressive Sensing Resources page.
-
A Beginner's Guide to HTML
(pdf)
PLAN AND RESOURCES
-
Computing, computation, computers and computer science.
L1-Computers_and_Computing.pdf
-
Knowledge, problem solving, computing tools, algorithms,
Turing machine, complexity.
L2-Algorithms.pdf
-
Algorithm, program, machine instuctions, interpreters and compilers, data,
structure of computer memory and consequences.
L3-Programming.pdf
-
Scripting languages - server side (PHP) and client side (JavaScript).
PHP from Wikipedia
PHP from
W3Schools
JavaScript from
Wikipedia
JavaScript from W3Schools
-
Programming for text processing (HTML, CSS, LaTeX, XML).
HTML from
Wikipedia
HTML from
W3Schools
A Beginner's Guide to HTML
CSS from Wikipedia
CSS from W3Schools
LaTeX from Wikipedia
The Not So Short Introduction to
LaTeX2e
XML from Wikipedia
XML from
W3Schools
-
Basics of technical computing (Matlab, Octave).
MATLAB Primer, Third
Edition
Octave Users' Guide
Octave On-line
( experimental!)
Matrix
multiplication
Linear
independence
Matrix rank
Vector norm
Matrix norm
LU factorization
Eigenvalue decomposition
Singular
value decomposition
-
Least squares method - linear regression.
Linear
least squares
Introduction - textbook
-
Clustering of data (k-means algorithm,
Fiedler vector and principal component analysis).
K-means from
Wikipedia
K-means (in Croatian)
Fiedler vector
An example
(in Croatian)
Programs
-
Vector space model and application to textual data.
-
Image compression via singular value decomposition.
Example program
-
Introduction to compressive sensing.
Student
presentation
-
SEMINAR WORK.