Individual
course details |
|
|
|
|
|
|
Study programme |
Applied and Computer
Physics |
|
|
Chosen research area (module) |
|
|
|
Nature and level of studies |
Undergraduate Studies |
|
|
Name of the course |
Programming of computer communications |
|
|
Professor (lectures) |
Prof Zoran Nikolić |
|
|
Professor/associate (examples/practical) |
Prof Zoran Nikolić,
Miloš Burger, Dragan Pantić |
|
|
Professor/associate (additional) |
|
|
|
ECTS |
4 |
Status
(required/elective) |
Required |
|
|
Access requirements |
Object-oriented
and application programming or Programming for physicists |
|
|
Aims of the course |
Introduction
to programming in the domain control of standard PC ports, downloading data
from ports and measurements in an interactive graphical environment. Getting
to know the theory, principles, standards, protocols and basic libraries on
which network programming is based.
|
|
|
Learning outcomes |
Adopting
basic concepts in programming domain in controlling standard ports. Acquiring
practical knowledge necessary for the development of functional applications,
based on developing your own code and setting up experiments that use devices
connected to computers through standard ports. Adoption of theoretical basis
of network programming within the framework of development environments under
Windows or Linux operating systems. Getting acquainted with the specific
development of platforms in the field of network programming, and getting
acquainted with protocol-based programming methods. |
|
|
Contents of the course |
|
|
Lectures |
1.
Digital analogue conversions. 2. Parallel port, control and programming.
Serial port, control and programming. 3. The basics of the USB port. Win32
driver model. 4. Types of devices. HID (Human Interface Device). USB control
and programming. 5. Bluetooth communication, control and programming. 6.
Hardware capabilities of PC peripherals. Development of an application for
the analysis of oscillatory motion using an adaptive motion sensor for small
distances. 7. Development of an application for measuring an adjusted
oscilloscope using a sound card. 8. Development of an application for
photometric measurements using a web camera. 9. Protocols. Winsock2.
Realization of connections using the Winsock2 API. IP addresses.10.
Introduction to TCP / IP. Client and server. Ports. Buffer size and limits.
Examples of clients and servers. Messages. Modes of operation. 12.
Application of Socket programming in the realization of Client-Server
applications. Example of T-Mobile Messaging - CHAT Application. System Messaging
Exchange. 13. Information transfer and development of automatic information
exchange systems. System information as a file or stream. 14. Development of
a client-server application for remote measurement and measurement management
in a physical laboratory. 15. Overview of Internet protocol and programming
of client applications. Development of an application for automating work
with HTTP and FTP protocols. |
|
|
Examples/ practical classes |
Computational exercises follow the lectures. |
|
|
Recommended books |
|
|
1 |
B.
Kainka, H.-J. Berndt, PC Interfaces under Windows, Measurement, Control and
Regulation under Windows, Elektor Electronics (Publishing), Dorchester, UK,
(2001). |
|
|
2 |
J.
Axelson, USB Complete, The Developer's Guide, Lakeview Research, USA, (2009). |
|
|
3 |
A.
Jones, Network Programming for Microsoft Windows, Microsoft Press, (1999). |
|
|
4 |
B.
Hall, Beej’s Guide to Network Programming Using Internet Sockets, Brian “Beej
Jorgensen” Hall, (2005). |
|
|
5 |
|
|
|
Number of classes (weekly) |
|
|
Lectures |
Examples&practicals |
|
Student
project |
Additional |
|
|
2 |
2 |
|
|
|
|
|
Teaching and learning methods |
Lectures and exercises, consultations,
homeworks. |
|
|
Assessment (maximal 100) |
|
|
assesed coursework |
mark |
examination |
mark |
|
|
coursework |
10 |
written
examination |
20 |
|
|
practicals |
|
oral
examination |
40 |
|
|
papers |
|
|
|
|
|
presentations |
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|