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