B15 Informatik 3 (Info3)

Website of Prof. Dr. Barne Kleinen, Professor for Media Informatics (Bachelor/Master) at HTW Berlin

Info 3 WS 20/21 Continuous Assessment

     <prev next>

Due to the ongoing pandemic, the exam will be replaced by continuous assessment. The continuous assessment consists of a series of assignments. They have to be handed in individually, except for CA4, Clean Code Poster.

These assignments replace the exam part in the class’ overall grading, the overall grading scheme and the Lab part is not changed.

Assignments

These are the the assignment slots with grading points. The assigments are marked in moodle as “CA#”

IDAssignmentPossible TopicsPointsDue Dates PZ1Due Dates PZ2
CA1Design Patterns ReportGoF Patterns54.12.202021.3.21
CA2Topic Report 1All513.1.202121.3.21
CA3Topic Report 2All529.1.202121.3.21
CA4Clean Code Poster (Group Work)Clean Code1016.12.2020Individual Assignment
CA5Code Reading or RefactoringAll1512.2.20212.4.21
CA6Oral Consultationn/a103./5./10.2.202126.-31.3.2021
CA7Bonus: Watch and Summarize a Conference Talkany512.2.202121.3.21

Except for CA1 & CA4, you can choose any Topic Area for the assignments, but each topic area only once, such that you have to cover 3 out of the 7 listed below. CA7 can be about any Topic Area, also one that you have already covered.

Each Assignment will be graded using stars, with 4 stars equaling 5P, multiplied by 2 or 3 for CA4-6. Sum: 50 Points, 55 with Bonus. 50 Points count as 50 or 100 % depending on your option.

You may and should communicate about your work on the assignments, but the work needs to be individual work ultimately. The combination of assigment, topic area and application projects give a wide variety of individual combinations. Especially if you are in a study group I advise you to not choose the same combination, because your work will be hard to differentiate. If I find reports that are too similar, they will not be awarded any points. Apart from that, I encourage you to share, discuss and review your work. If you want to protect yourself, you might want to exchange your work in a way that proofs original authorship, e.g. the wiki or github.

Topic Areas

These are possible Topic Areas.

IDScope for Topic Reportsfor CA5 / Code Readingfor CA5 / Refactoring
TA1GoF PatternsOverview, 2 different from CA1 described in DepthIdentify >= 2 PatternsRefactor to >= 2 Patterns
TA2SOLIDOverview, 2 in DepthIdentify 1 PrincipleRefactor to 1 Principle
TA3Clean CodeOverview, 1 Chapter that is not your Poster Chapter in DepthDiscuss in Relation to 1 ChaptersSuggest >= 2 Refactorings motivated by Clean Code Ideas
TA4Application ArchitecturesOverview, 2 Architecture in DepthIdentify ArchitectureIdentify Architecture and discuss a possible Alternative
TA5POEAAOverview, 2 Patterns in DepthIdentify >= 2 PatternsIdentify >= 1 Pattern and discuss >= 1 patterns that may be applied
TA6OO in DepthReport on both TopicsDiscuss Software in relation to OO in DepthDiscuss possible refactorings related to OO in Depth
TA7Continuous Integration & - DeploymentOverview, find and document one exampleImplement CI/CD Pipeline for a project (hard)

Legacy Projects for Examples, Code Reading and Refactoring

  • one of my software projects

  • npm modules

  • Source Code from other classes, e.g. Bildverarbeitung

  • other software projects you are involved with

CA1 Design Patterns Report

You need to report on two more patterns. The Report should be one handwritten A4 Page in Landscape for each pattern, with a brief summary of the pattern on the left half and a description and reflection of the chosen example on the right half, each with an hand drawn UML diagram.

  1. Read the Catalogue of Design Patterns of the Gang of Four Book and choose one that you already know an example of. There are some examples in Info1+2, but probably also in other classes’ programming exercises.

  2. Do the same for the randomly assigned pattern.

Exchange and discuss the work in your peer groups.

Your reports need to be handed in by Friday of next week.

CA2 & 3 Topic Report 1 & 2

Please use the following structure:

  • Assignment: Topic Report 1 or 2
  • Topic Area: …
  • Overview
  • Detailed Discussion of… (according to scope)

CA 4 Clean Code Poster

Prepare a poster for one chapter in a group and present it in class (16.12.2020) The Groups are organized in the Wiki: https://wiki.htw-berlin.de/confluence/pages/viewpage.action?pageId=97455143. This should be done during class, so there is not really an opportunity to redo it in PZ2.

CA 5 - Code Reading or Refactoring

You can choose to either do a Code Reading or a Refactoring:

Code Reading

Pick any Legacy Project see below, assess the software architecture and report on it as discussed in the lecture on code reading (see Schedule). Pick a Topic Area and identify and document the Topic Area in regard to the Legacy Project. E.g. if you combine Code Reading with the Topic Area Patterns of Enterprise Application Architecture, you should be able to identify and describe >= 2 Patterns mentioned in POEAA in the software.

Refactoring

Pick any Legacy Project, and suggest a sensible refactoring that should be applied. Pick a Topic Area and identify and document the Topic Area in regard to refactoring the Legacy Project. E.g. if you combine Code Reading with the Topic Area Patterns of Enterprise Application Architecture, you should be able to identify one Pattern in the software and suggest another one that the project could be refactored to and how it might be done.

CA 6 - Oral Consultation

This will be an individual oral consultation of about 15-20 min covering your completed assignments, and a discussion of your larger project CA5 which is still in progress.

CA 7 - Bonus: Watch a video

Choose, watch and summarize a video of a conference talk of about 45 min to 1 hour. The video should cover or relate to one of the Topic Areas. Summarize the video with text or a sketch note. You can choose any conference talk (not “Patterns for Dummies in 7 minutes!”) - e.g. Talks by