You are here:
(07 Dec 2008,
%TOC% -------++ Introduction %STARTINCLUDE% The master program Software Technology takes two years of study and has a total size of 120 European study points (ECTS). The academic year is structured into four periods. In each period a students usually takes takes two courses of 7.5 ECTS each. The structure of a typical program is summarized by the following table: (see however [[http://www.cs.uu.nl/education/]]) | *Period* | *Year 1* | | 1 | %RED% [[SoftwareEngineering][SWE]] %ENDCOLOR% [[Functional Programming Languages and Compilers][FPLC]] [[Distributed Object Systems][DOS]] [[SoftwareSpecification][SWS]] | | 2 | %RED% [[SoftwareArchitecture][SWA]] %ENDCOLOR% %RED% [[Compiler Construction][CCO]] %ENDCOLOR% | | 3 | [[AdvancedFunctionalProgramming][AFP]] [[AutomaticProgramAnalysis][APA]] [[DataBaseArchitectures][DBA]] | | 4 | [[GenericProgramming][GP]] [[ProgramVerification][PV]]| | *Period* | *Year 2* | | 1 | Seminar / other | | 2 | Thesis Proposal | | 3 | Research | | 4 | Thesis Writing | It is important to realize that the following explanation of the master curriculum is a general one, and every study plan that follows it is allowed by default. Depending on requirements and knowledge of the student, he and the [[Center.CoordinatorOverview][student advisor]] can agree to divert from the standard. It is possible to start the program in February (period 3), but if you must do the Deficiency course (this is often the case for foreigners and people coming from HIO/HBO), then it makes no sense, because that course is only offered in September. If you have no deficiencies in functional programming, grammars and parsing <del>and program correctness</del>, then starting in February is no problem. If you are unsure whether you are deficient contact the [[Center.CoordinatorOverview][student advisor]]. Seminars are not restricted to period 1: other periods also offers a number of seminars. Consult the list of seminars below to see what is offered this year. -------++ Courses (75 ECTCS) ----+++ Mandatory Courses (22.5 ECTS) The following courses are required for all ST students: * [[Software Engineering]] * [[Software Architecture]] * [[Compiler Construction]] (formerly known as Implementation of Programming Languages) If one or more of these courses have already been taken as part of the bachelor program, or equivalent courses have been taken elsewhere, courses from the list of _advanced courses_ must be chosen. -----+++ Advanced ST Courses (22.5 ECTS) At least three of the following courses should be taken from the following list:. * [[Advanced functional programming]] * [[Automatic program analysis]] * [[Data base architectures]] * [[Distributed object systems]] * [[Generic programming]] * [[Program verification]] <!-- -- Programming and Correctness is a prerequisite, can be done as a deficiency course --> * [[Software specification]] ----+++ Deficiencies or Electives (15 ECTCS) Students with deficiencies in the entrance requirements of the ST program can take upto two courses to remedy those deficiencies. Students without a computer science bachelor from Utrecht University, typically lack one or more of the following bachelor courses: * Functional programming * Languages and compilers (formerly known as Grammars and parsing) * <del>Programming and correctness</del> The first two deficiencies can be resolved by following the special course [[Functional Programming Languages and Compilers][FPLC]] (7.5 ECTS) in the first period. <del>The third one can be resolved by following the bachelors course on [[http://www.cs.uu.nl/education/vak.php?vak=INFOPC&jaar=2007][Programming and Correctness]]. This course is taught in Dutch. English speaking students should contact the lecturer to discuss alternative ways to master this material.</del> Students without deficiencies (which includes all students with a computer science bachelor from Utrecht University) can use this space in the curriculum for elective courses to be filled in with courses from the ST program or from other CS master programs. Courses from this list can also be used to fill in the electives. Courses used to substitute for mandatory courses do not count towards filling the credits for this part of the curriculum. Since the course year 2007/2008 the course Complex Data has merged with the course Database Architectures. -----+++ Seminar (7.5 ECTS) Seminars usually take the form of small study groups in which a subject is studied in depth and may also have a practical component. The subjects are usually closely linked to the research conducted in the CST and follow up on earlier courses in the program. In 2008-2009 (usually for students arrived in 2007) the following seminars will be given: * [[Dependently Typed Programming]] (period 1) * [[Type Based Program Analysis]] (period 1) * [[Advanced Compiler Construction]] (period 2) * [[Networked Objects]] (period 2) * [[Data Base Architectures]] (period 3) Note that Data Base Architecures can be used either as a seminar or as an advanced ST course, but not both at the same time. The student is free to choose how he uses it, though. ----+++ Free Choice (7.5 ECTS) In order to allow for sufficient flexibility in your planning you can choose between the following options: * an extra seminar * an [[Experimentation Project]] * an additional ST course -----++ Thesis Project (45 ECTS) In the final thesis project a student performs research under the supervision of one of the staff members of the center. The project can be conducted in the ST-Lab of the center, in a company, or (partly) in a related (foreign) research group. Thesis projects are structured in three phases: colloquium, proposal, and research. See further below for additional information about this part of the curriculum if you are a doctoral student. -------+++ Software Technology Colloquium (5 ECTS) In order to prepare for the thesis project and get a broad overview of ongoing research in the Center and beyond, students attend the weekly [[Stc.WebHome][Software Technology Colloquium]]. This colloquium provides a broad overview of interesting results in the ST area by means of research talks and paper presentations by internal and external speakers. Each student should attend at least 30 colloquium sessions, give one colloquium presentation about a topic of choice, and write a literature study about this topic. [[Stc.LiteratureList][Here]] you can find a list of possible papers/programs/libraries to discuss. It is important that you first find a staff member or !PhD student to judge your work, and start off on your own. -------+++ Thesis Proposal (10 ECTS) After the colloquium obligations have been fulfilled, and with at most 7.5 ECTS op course obligations left, a topic for a thesis project can be chosen. Before actually starting the research, a student writes a _thesis proposal_ containing a problem statement for the proposed research, positioning of the research with respect to other research, an overview of the literature in the field, and a planning for the project. The proposal should be accepted by the thesis committee before the project can start. -------+++ Research and Thesis (30 ECTS) The final part of the project consists of performing the research according to the plan in the thesis proposal and writing a thesis about the result. Relevant parts of the proposal will typically find their way into the thesis. The project is finished with a defense of the thesis before the thesis committee. Courses or seminars taught inside the department and not mentioned below may be approved upon explicit request, especially in relation with the choice of a specific thesis area. %STOPINCLUDE% -------++ Advise for Specific Groups -------+++ Bachelor degree in Computer Science from Utrecht University If you have such a bachelor degree you can enter the program without explicit permission. Please register by sending an email to the [[Center.CoordinatorOverview][student advisor]] including a letter of motivation for your choice and a plan with the courses you will take in the first year of the program. If you have not yet finished your bachelor program at the start of the fourth year of study, please include a plan for finishing the last courses. In case you have already taken one or more of the mandatory courses as part of your Bachelors degree you should substitute courses from the list of advanced ST courses. -------+++ HIO Students (Students from Dutch Polytechnic Schools, Technische informatica) Students from the HIO in general have taken a good amount of project-oriented courses. These students are advised to follow the technical courses to best complement their prior education. Usually deficiencies exist in functional programming and grammars and parsing, which can be remedied by taking the FPGO course in the first period. -------+++ Technische Bedrijfskunde / Business Informatics Students with a background in business informatics who show to have affinity and experience in programming in addition to their formal education may be admitted to the program. For these students it might be advisable to take some additional courses from the bachelor program. -- Main.JurriaanHage - 19 Aug 2008
ore topic actions
Topic revision: r5 - 07 Dec 2008,
Master ST Home
Center ST Home
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding UUCS?