Code Monkey home page Code Monkey logo

istudent's Introduction

iStudent

Design Patterns Course UBB 2017-2018

  1. User management & Course subscriptions
  2. Assignments, tests and gradings/ & Test/Assignment design
  3. Analytics & Reporting
  4. University Blog - push notifications etc.

Build Status

wercker status

Project Details

Prerequisites

How to build and run the project?

Windows

step 1:
gradlew clean build
step 2:
gradlew bootRun
step 3:
http://localhost:8080
step 4:
Enjoy coding :)

Linux/Mac OS

step 1:
./gradlew clean build
step 2:
./gradlew bootRun
step 3:
http://localhost:8080
step 4:
Enjoy coding :)

Logistics

Courses

  • Course 1: Solid Principles and Creational Patterns (Factory, Builder, Prototype, Singleton)
  • Course 2: Structural Patterns (Adapter, Bridge, Composite, Decorator, Facade, Proxy)
  • Course 3: Behavioral Patterns (Chain of Responsibility, Command, Iterator, Mediator, Observer)
  • Course 4: Behavioral Patterns (State, Strategy, Template)
  • Course 5: Recap (Factory, Builder, Singleton, Adapter, Composite, Proxy)
  • Course 6: Architectural Patterns (MVVM, MVP, MVC), JS Module Pattern
  • Course 7: Enterprise Integration Patterns
  • Course 8: Enterprise Integration Patterns: Messaging

Attendance status of students

Self-scheduling for labs, for a more balanced number of students at each laboratory

Exams scheduling, to be filled out by 19th dec, end-of-day

Grading options:

Option 1:

  • 50% individual presentations, during the semester
  • 50% final presentation, with the whole project team (max 6 people), at the end of the semester, before the exam period, in the "Presesiune" period

Option 2 (date to be decided), in case a student is uneligible for the first option, or receives a grade under 5 on the first option:

  • written exam at the end of the semester, in the "Sesiune" period

Option 3 (20 feb), in case the student fails first options or is caught cheating at Option 1:

  • written exam after the exam period, in the "Restante" period

Bonus given for course attendance: max 2 points divided to the number of course attendances, added to the final exam grade and rounded up (ceiling rounding).

1. Option 1:

1.1. Option 1, first half: Individual presentation during the semester requirements:

1.1.1. Requirements scheduling and buzzwords

  • Each group can have 1 or 2 people presenting per laboratory. -- 1 person has a 10min timeslot for presenting. -- 2 people have a 20min timeslot for presenting.
  • If few people are presenting, the timeslots can vary.

1.1.2. Each presentation (for each person) must have the following:

1.1.2.1. Production usage of a Design Pattern

From repositories such as:

  • Spring Framework
  • JUnit framework
  • Any project dependencies used
  • GitHub trending repos
  • Your code at work (if it is allowed)

1.1.2.2. Buzzword

  • Each buzzword can be presented by a maximum of 2 people, from different groups
  • The spreadsheet linked in the title header has the list of buzzwords, you can write your name to one to reserve it

1.1.2.3. Current project progress

  • Any design patterns used
  • Progress of functionality
  • Code explanations

1.2. Option 1, second half: Final presentation, with the whole team (max 6 people)

If a person from the team does not participate, that person will be graded using Option 2 (written exam)

1.2.1. Presentation requirements for the team

  • Overall implementation of team task

1.2.2. Presentation requirements for each team member:

  • Code contribution
  • Used Design Patterns
  • Purpose and added value of used Design Pattern
  • Git statistics shown for contributions brought

2. Option 2: Written exam (sesiune)

Exam will be given across multiple rows of students to prevent fraud.

2.1. Exercise 1: Student is presented with a Non-Enterprise Design Pattern

2.1.1. Draw UML class diagram

2.1.2. Provide use cases (minimum 2 but will be specified on each exam variant)

2.1.3. Pseudocode implementation

2.2. Exercise 2: Student is given a business use case:

2.2.1. Name a Design Pattern which can be used to solve this business use case

2.2.2. Give reason and benefits for usage of this Pattern

2.2.3. Draw UML class diagram

2.1.4. Pseudocode implementation

2.3. Exercise 3: Student is given an Enterprise business use case:

2.2.1. Name an Enterprise Integration Pattern which can be used to improve the messaging system

2.2.2. Explain (drawing+text) information flow with given Enterprise Integration Pattern

2.2.3. Give reason and benefits for usage of this Pattern

3. Option 3: Written exam (restanta) - same requirements as Option 2)

istudent's People

Contributors

timoftean avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.