Our Master Program in Computing Science is directed towards students how to want to develop a deep understanding of the field, together with a scientific attitude characterized by logical reasoning and critical analysis. We want to make sure that you cannot only repeat and apply the facts you have learned but also extend that knowledge by drawing your own conclusions. In the best of cases, this will enable you to continue your education on a Ph.D. program at Umeå University or somewhere else. At the very least, you should have acquired the knowledge and skills making it possible for you to work with challenging scientific problems in industrial research and development. Our teachers, who at the same time are successful scientists in the areas they teach, will help you to reach this goal.
For successful studies, you need both theoretical knowledge and practical skills regarding algorithmic problem solving, including well-developed programming skills. In particular, you must be able to program in programming languages such as C, Java, and Python and, if necessary, quickly become acquainted with further programming languages. Last but not least, you must be familiar with fundamental concepts from the theory of computation such as automata, formal languages, computability, and computational complexity.
Structure of the Program
There are two start-up courses that all enrolled students are required to take (with the exception of students whose transcripts already contain equivalent courses), namely Efficient Algorithms and Problem Complexity, and Computer Organization and Architecture. Before the program starts, you and the program director will agree on two additional courses completing these two, to create a good basis for your the rest of your studies.
The courses of the program consist of a varying degree of lectures, seminars, group exercises, and tutoring in connection with different kinds of assignments. Assignments are usually mandatory and constitute an important part of the program. In many cases, they include some sort of software development. The solution to assignments and its presentation may include both oral and written elements. The expected workload for following the program and completing the studies in time is 40 hours per week, even though the time explicitly allocated for lectures, group exercises and computer labs are typically much less than 40 hours. Thus, it is up to you to decide upon what is the best way to make use of your time.
The program ends with a master thesis comprising 30 ECTS credits. Prior to the master thesis, you will attend the course Student Conference in Computing Science that lets you train scientific writing and how to conduct a small research project of your own choice.
The language of all parts of the program, including teaching material, is English. However, it is not guaranteed that courses outside the program, which may be necessary to complete insufficient pre-requisites, will be offered in English. Students able to speak Swedish may, to a certain degree, even take courses taught in Swedish.
Degree and career
The program offers advanced knowledge in Computer Science, to a great extent leaving it up to you to choose your areas of specialization. In combination with the emphasis the program puts on a scientific approach, this provides you with a firm basis for future doctoral studies, but also for specialized positions in industry.