Zur Modulseite PDF generieren

#40787 / #5

Seit SoSe 2022

English

Programming Course and Project
Programmierkurs und Projekt

6

Sprekeler, Henning

Unbenotet

Portfolioprüfung

English

Zugehörigkeit


Fakultät IV

Institut für Softwaretechnik und Theoretische Informatik

34352100 FG Modellierung kognitiver Prozesse

Keine Angabe

Kontakt


MAR 5-3

Velenosi, Lisa Alexandria

graduateprograms@bccn-berlin.de

Lernergebnisse

At the end of the module, students will be able to: - write complex computer programs - follow common software design principles - apply basic as well as advanced concepts of a modern programming language - use tools for successful project management (version control tools, testing, etc.) - develop a larger program, including the necessary specifications, documentation and test The course puts strong emphasis on the use of online resources and self-guided learning in order to teach the students how to acquire skills in a modern programming language using manuals and available resources.

Lehrinhalte

The main objective of the course is to teach students how to plan and complete a complex software project. The specific topic is subject to change and is announced at the beginning of the semester. Depending on the level of background, the first tutorials can feature introductory topics such as: - using the UNIX operating system: basic commands, editor, navigation - introduction to the programming language python and common libraries - objects and object attributes in python - object oriented programming in python The main focus of the course is on software carpentry techniques/tools such as: - version control during code development using git - integrated development environments - test driven code development - code documentation - refactoring - debugging - profiling & optimization

Modulbestandteile

Compulsory area

Die folgenden Veranstaltungen sind für das Modul obligatorisch:

LehrveranstaltungenArtNummerTurnusSpracheSWS ISIS VVZ
Programming Course and ProjectPJSoSeen4

Arbeitsaufwand und Leistungspunkte

Programming Course and Project (PJ):

AufwandbeschreibungMultiplikatorStundenGesamt
Attendance & supervised work15.04.0h60.0h
Unsupervised work15.08.0h120.0h
180.0h(~6 LP)
Der Aufwand des Moduls summiert sich zu 180.0 Stunden. Damit umfasst das Modul 6 Leistungspunkte.

Beschreibung der Lehr- und Lernformen

The weekly tutorial contains a teaching component, supervised discussions among the students and time for supervised work on the project. The teaching component will be larger in the beginning of the semester in order to introduce core concepts. In the first few weeks, students will receive necessary background information about - the employed programming language, depending on the level of experience of the students, - software carpentry techniques & tools, - the topic of the software project. This involves lectures/computer demonstrations by the lecturer as well as smaller assignments, which are solved partially in class, partially as homework and serve as building blocks for a first prototype or a simpler version of the final project (depending on the topic). Building on the introductory tutorials, students will plan and execute their own larger software projects. Depending on the complexity of their proposed projects, working in small groups is encouraged. The different projects are supervised by the tutor. Part of the work on the projects is done during the tutorials, during which students can get assistance from the tutor, but a substantial part of of the work is done outside of class. Throughout the course, strong emphasis is put on discussions among students. Both reading other students' code and giving feedback as well as receiving feedback from others are essential to improve their coding style.

Voraussetzungen für die Teilnahme / Prüfung

Wünschenswerte Voraussetzungen für die Teilnahme an den Lehrveranstaltungen:

Basic programming skills in Python, or basic experience in another programming language and a willingness to quickly learn Python.

Verpflichtende Voraussetzungen für die Modulprüfungsanmeldung:

Dieses Modul hat keine Prüfungsvoraussetzungen.

Abschluss des Moduls

Benotung

Unbenotet

Prüfungsform

Portfolio examination

Art der Portfolioprüfung

100 Punkte insgesamt

Sprache(n)

English

Prüfungselemente

NamePunkteKategorieDauer/Umfang
(Deliverable assessment) Final software implementation50schriftlichSoftware submission
(Deliverable assessment) Software implementation of prototype40schriftlichSoftware submission
(Deliverable assessment) Presentation of the project10mündlich~15 min (presentation + questions)

Notenschlüssel

Ab insgesamt 50 Portfoliopunkten bestanden.

Dauer des Moduls

Für Belegung und Abschluss des Moduls ist folgende Semesteranzahl veranschlagt:
1 Semester.

Dieses Modul kann in folgenden Semestern begonnen werden:
Sommersemester.

Maximale teilnehmende Personen

Die maximale Teilnehmerzahl beträgt 20.

Anmeldeformalitäten

Enrollment to the module is handled by the teaching coordinator of the MSc program Computational Neuroscience and finalized in the first class of the semester. Students of the Master program in Computational Neuroscience have to register with the examination office (Prüfungsamt) of TU Berlin before the first test element. For students from other programs, other regulations may apply. Please consult the examination regulations (Prüfungsordnung) of your program.

Literaturhinweise, Skripte

Skript in Papierform

Verfügbarkeit:  nicht verfügbar

 

Skript in elektronischer Form

Verfügbarkeit:  nicht verfügbar

 

Literatur

Empfohlene Literatur
Lutz and Ascher, Learning Python (Help for Programmers), O’Reilly, 2008.
Martelli, Ravenscroft and Ascher, Python Cookbook, O’Reilly, 2005.
Multiple online resources provided on the course's web page
Pilgrim, Dive into Python, Springer-Verlag, 2004.

Zugeordnete Studiengänge


Diese Modulversion wird in folgenden Studiengängen verwendet:

Studiengang / StuPOStuPOsVerwendungenErste VerwendungLetzte Verwendung
Dieses Modul findet in keinem Studiengang Verwendung.

Sonstiges

Keine Angabe