|
Among other courses, Dmitri Solomatine is responsible for teaching
the following ones:
INFORMATION TECHNOLOGY AND COMPUTER SCIENCE
(various versions for several courses at IHE)
Objective: To present the main components of information technology
and computer science.
Syllabus:
A. Main areas and trends of using information technology (IT)
in society, engineering and management.
B. Computer system organisation: processor, main memory (addressing,
data encoding, operation), computer arithmetic, types of processors
and computers. RISC and CISC processors, parallel processing. Generations
of computers, development perspectives. Computer peripherals: storage,
display, hard-copy and input devices. Choosing and configuring a
personal computer.
C. System software: operating systems, assemblers, compilers,
linkers, programming environments. Integrating software components.
D. Computer communications and networks: digital data transmission,
error control, protocols. Local and wide area networks, topologies,
main hardware and software.
E. Internet: history, main technologies, browsers, searchers.
HTML, Java, ActiveX, WWW site construction. Use of Internet in engineering,
management and marketing. Examples.
F. Data structures: arrays, singly- and doubly-linked lists, stacks,
trees. File structures: sequential, indexed, random access files.
G. Algorithms: primitives and notations. Complexity, convergence,
recursion of algorithms. Basic algorithms on lists, trees, files.
Search and sort.
EXERCISE INFORMATION TECHNOLOGY AND COMPUTER SCIENCE
Objective: To obtain experience in the use of systems and applications
software, in programming main algorithms of computer science, and
in setting-up a Web site.
Syllabus: Use of personal computers in a network, Windows operating
system, filing system, word-processing, spreadsheet operation, drawing
programs, electronic mail. Building Internet Web pages. Programming
of data structures, of search and sort algorithms, of a finite-difference
scheme, of iterative algorithms.
SOFTWARE ENGINEERING AND OBJECT-ORIENTED PROGRAMMING
Objective: To present various approaches to engineering of software
and to introduce the Pascal programming language. Introduce main
notions of object orientation.
Syllabus:
Software engineering
A. Software development: requirements definition, interface specifications,
operational specification.
B. Software design: notations (data-flow and structure charts),
top-down design, function and object-orientated design. User interface
design: Human-computer interaction. WIMP interfaces (windows, icons,
menus, pointing).
C. Programming languages. Generations of languages, design and
implementation; control structures, data structures, name structures,
syntactic structures, object-orientated programming, interpreters
and compilers, choice of language.
D. Software implementation: program quality, programming style,
documentation.
E. Software validation: testing strategies and techniques, common
errors, debugging.
F. Pascal programming language: main elements.
Object-oriented and component-based programming
A. Main ideas of object-oriented programming (OOP): encapsulation,
inheritance and polymorphism. Virtual methods. OOP languages
B. Demonstration of the OOP ideas on practical examples using
Object Pascal. Exercise in implementation of an object-oriented
program.
D. Object-oriented interface development frameworks. Object-oriented
visual programming environments (on the example of DELPHI). Component-based
software construction (OCX components); using components on Internet.
EXERCISE SOFTWARE ENGINEERING
Objective: To obtain experience in using main approaches of software
engineering. Mastering computer programming using Pascal.
Syllabus: Software design and programming: series of exercises
to be programmed in Pascal including data and file structure handling,
computer graphics and water-related problems. Exercise in object
oriented programming.
OPTIMIZATION (Part of the course devoted to global
optimization)
Objective: To give an overview of the main approaches to global
optimization, and to obtain experience in using some of the methods
for solving practical problems.
Syllabus: Main approaches to global optimization. Deteministic
and randomized search. Covering, adaptive and controlled random
search. Genetic and evolutionary algorithms. Simulated annealing.
Clustering and multistart. Adaptive cluster covering.
Exercise in using global optimization tool GLOBE for model calibration
problems.
DATA-DRIVEN MODELLING AND DATA MINING
See also additional references to
on-line courses
|