Navigation: Main page [Sitemap] [Contact] Norsk informasjon om inf200
Textsize

Norwegian University of Life Sciences

Education

Research

About UMB

Cooperation

For students

Other
- Alliances
- Charter and Code
- Int. Cooperation
- NOVA University

- Archive
- RSS-feeds



Norwegian University of Life Sciences
1432 Ås
Norway

Phone: +47 64965000
Fax: +47 64965001
More info: Contact
Universitetet for miljø- og biovitenskap (UMB)

Search result

Engelsk ved behov
INF200 Advanced Programming
Course responsible Hans Ekkehard Plesser IMT
   
Number of credits allocated 10.0
Language English if required
Limits for class size
Semester/trimester
August block Autumn parallel January block Spring parallel June block
     
         
Colour explanation: Red/yellow = teaching periods. The red period indicates when the teaching starts.
Type of course Autumn parallel - 52h teaching in computer lab
January block - 15h colloquium
Compulsory educational activities You must have gotten mandatory programming exercises approved during the autumn parallel to be allowed to commence work on the programming project in the January block.
Reduction of credits for overlapping courses INF210: 10stp
Prerequisites INF120 or comparable programming competence. This requirement means that you should be able to independently solve exercises from the course book for INF120 (Langtangen, A Primer on Scientific Programming in Python, ch 1-6, 8). If you have programming competence in a different programming language, you should expect extra efforts to get into Python.
Exam L
Assessment methods Evaluation of the programming project in two parts:
1. Presentation and individual discussion of project (0-40 points).
2. Handed-in source code and documentation (0-60 points).
If two students collaborate on a project, then a joint evaluation is given for part 2, while individual evaluations are made for part 1. The overall grade is determined based on the total point score obtained.
Grading A-F
Nominal workload Autumn parallel 150h = 52h teaching in computer lab + 98h self study with course book and programming exercises
January block 150h = 15h colloquium + 120h programming project + 15h preparation of final presentation
Course frequency Annually
Comment on frequency -
Teaching methods Instruction in advanced programming during the autumn parallel:
All instruction will be in the computer lab, combining the presentation of new concepts with hands-on experience in the form of short programming tasks. Students will discuss each other's programs.
Active participation in the exercises is central to successful learning in this course. Self study: You need to actively train the programming concepts and skills covered in the course to develop good programming skills. Thus, as a student in INF200, you have to write and improve smaller programs on your own.

Programming project during January block: The students carry out a programming project in groups of two. Through the project, you will learn to undertake and complete a larger project. The project will cover most of the techniques taught in the course and students will practice these techniques further by applying them to the project. The approach to the task, possible solutions and arising problems are debated in the plenum. All students shall be present in the course room during the 'core period' from 9am to 3pm during the entire January block.

NB:
Teaching support en: Online discussion forum, assistance in the computer lab, tutoring during the programming project.
Examiner The external examiner will approve the the project task, as well as the examination instructions. The examiner participates in the evaluation of the students during the concluding individual presentations and discussions.
Entrance requirements Special requirements in Science
Preferential right
   
Note  
The course consists of instruction in advanced programming in the autumn parallel and a project task in the January block. Course participants have to be present full time during the January block.
   
Objective of course  

After completing the course, you will be able to:
- develop programs based on procedural and object-oriented programming;
- read and understand programs at an equivalent level of complexity;
- analyse tasks and implement algorithms to solve them;
- use functionality delivered by standard libraries;
- combine functionality implemented in different programming languages;
- localize errors in programs;
- use programming tools such as debuggers, profilers, testsuites, documentation tools and version control.
You will be able to evaluate the applicability of more complex programs and able to assert their quality, and will have developed an insight into the programmer's responsibility for the correct and reliable functioning of his or her own programs, their quality and documentation.

   
Course contents  
1. Programming tools: development environment and version control
2. Repetition of basic programming in Python
3. Object-oriented programming in Python
4. Test-based programming and testsuites, documentation tools
5. Debugging and profiling
6. Increasing efficiency with Cython
7. Selv-implemented Python modules in C++
8. Programming project
   
Syllabus  
Will be announced on Fronter well ahead of the course start.
 
Last updated 2012-04-13