Skip to main content

Advanced Software Development Techniques (5cr)

Course unit code: C-02471-IN00CT12

General information


Credits
5 cr
Teaching language
English
Institution
Oulu University of Applied Sciences

Objective

The student understands how an Operating System (OS) acts as an interface between a computer user and a computer hardware. The student also understands how this software performs the basic tasks, such as file management, memory management, process management, input and output handling.

The student is able to describe the benefits of sharing common resources in a computer and the benefits of multi-threaded programming. The student knows the associated problems and is able to solve them using services provided by the operating system. The student is also able to design and implement multi-threaded applications.

Content

The structure and services of a modern computer operating system.
Multithreaded concepts and programming.
Usage of 3rd party libraries.

Qualifications

Programming skills using procedural and/or object-oriented programming language(s)

Assessment criteria, satisfactory (1)

I understand the principles and interfaces of operating systems, for example essential interfaces of it to computer hardware and users. I can identify the strengths and weaknesses of operating systems in terms of software development. I can write a basic program with chosen programming language that uses threading.

Assessment criteria, good (3)

I can prepare a high-level implementation plan for software development work to be implemented in a limited time and memory space of operating system environment. I can search for more precise information to implement resource-critical software tasks from the information sources used by professionals, and I am able to apply the information I find. I can implement a time-critical multithreaded software that makes use of functionalities of a computer operating system.

Assessment criteria, excellent (5)

I can independently and creatively make software solutions that implement resource-critical tasks by utilizing threading and related special features (for example, memory usage). I demonstrate the ability to be among the best in my programming skills in a special challenge task related to the course.

Further information

-

Go back to top of page