Bachelor Courses

This group contains description of bachelor courses that I teach as member in the Computer Science Department, Faculty of Automatic Control and Computers, University Politehnica of Bucharest.

Computer Programming
At the end of the course the student should be able to: compile, link and execute C programs, use basic data types to declarare and initialize variables, use the instructions of C programming language such assignment decisions and loops, define functions, use them and modularize program, work with arrays and pointers, and use typical operations on them, declare strings and use standard library functions, allocate dynamic memory, use it correctly and free it, declare and use data structures (and unions), work with files: open, close, input/output operations etc, use command line parameters. Syllabus: Introduction in C. Data types. Operators. Expressions. Instructions. Functions. Arrays. Pointers. Strings. Dynamic memory allocation. Structures. Files. Command line parameters. Preprocessor directives. Functions with variable number of parameters.
Custom Field
Numerical Methods
MN high science! - TODO
Custom Field
Communication Protocols
The course targets learning the models, methods, and algorithms related to the design and implementation of computer network protocols; acquire knowledge in the main Internet protocols and technologies (TCP/IP suite). More specific it targets: Learning the concepts, methods, models, and algorithms for the design and implementation of computer network protocols. Understanding the principles of protocol layering and protocol hierarchy, the role of standardization and the importance of open technologies for Internet development. Learning the main Internet protocols and technologies (in the TCP/IP suite): low level (communication oriented) and high level (application oriented). Protocol analysis for high performance networks, mobile networks, and ad-hoc networks. Learning new methods and mechanisms used to obtain high performance in computer networks. Learning the principles and design solutions for open, scalable, and high performance networks. Study of high level protocols (for remote access, e-mail, Web, file transfer) and of their use for the development of Internet services. Syllabus: Evolution of computer networks and communication protocols; Reference models: ISO OSI and TCP/IP Models; Architectural layers; Services; Protocols; Data link protocols: Services and functions, Error detection and correction, Transmission control, Start-Stop and sliding window protocols, HDLC, SLIP, PPP; Protocol verification and performance analysis; Network layer: Routing, Network layer services, Internal organization of the network layer, Addresses, Routing protocols. Algorithms for congestion control, Network interconnection, Internet Protocol; Transport layer: Transport service primitives, Transport protocols, Connection establishment and release, Flow control and adaptive retransmission, Multiplexing, Crash recovery, Transport protocols implementation and evaluation, TCP, UDP, RTP, Wireless TCP; Performance issues and solutions; Client-server model; Sockets; DNS; SMTP; MIME; POP3; IMAP; FTP; The Web; HTTP; HTML; Dynamic pages; Security protocols: Threats and controls, Introduction to Cryptography, Encryption models, Symmetric key algorithms, DES, AES, Public key algorithms, RSA, Digital signatures. Certificates. PKI, Firewall, VPN, DNS security.
Custom Field

Master Courses

This group contains description of master courses that I teach as member in the Computer Science Department, Faculty of Automatic Control and Computers, University Politehnica of Bucharest.

Scheduling Methods and Algorithms in Distributed Systems
The objectives of this course are: Classification of scheduling problems; Specific attributes and models of scheduling algorithms; The complexity of scheduling algorithms; Scheduling and resource management; Advance reservation and co-allocation of resources; Scheduling policies; Algorithms and classical methods of scheduling: scheduling on a single processor; Scheduling for parallel systems; Scheduling in distributed systems (Grid, P2P); Scheduling with dependencies and workflows; Methods of optimization and performance analysis; Fault tolerance and rescheduling. Applications have as main objectives analysis, implementation and testing of presented algorithms. The project aims to create a context for the implementation of scheduling policies. Optimization of scheduling by implementing optimization techniques will be another focus of practical applications (projects). It will also study the applications of scheduling algorithms: courses and exams planning, land vehicles planning, aircraft schedule.
Custom Field
Architecture of Service Oriented Information Systems
The course explains the concept of the different architectural views (e.g. function view, organization view, data view, output view) and the relationships between those individual views. There will be explained the principles for process orientation. Students will understand and interpret the models and methods for developing information systems architectures. They will be taught how to use those models and methods to define overall information systems architecture. The practical applications of this course offers to students the possibility to describe the principles of information systems; use in the correct way the standards for encoding numbers and letters; describe the conceptual basis of communications standards: TCP/IP, UDP; create and manage XML documents; writing simple SQL statements code for database; create a web service based on SOAP/REST standards; writing a simple client application extension for internet standards; understand architecture for distributed applications.
Custom Field