This is an old revision of the document!


Programming II - Labs 2018/19

This page contains materials for the practice lessons of the Programming II (NPRG031) course that is being/has been taught during summer semester 2018/2019 at Charles University in Prague, Czech Republic. The course official web page is/was to be found at Martin Pergl and Tomáš Holan. The practice lessons (labs) are/were backed by many, for this group, concretely, by Jakub Gemrot

Permalink: http://bit.ly/mff-uk-prg2-labs-2019

Contact

Jakub Gemrot: jakub.gemrot@gmail.com

Dates

Standard labs - Monday, 14:00

How to get credits

In order to get credits from me, you have to

  1. Deliver a semester project of your choice
  2. Pass the labs
    • To pass the labs you must obtain at least 90 points by the 13.5.2019
    • If you do, then there are two ways how to pass the labs
      1. Obtain at least 140 points and pass the “final labs test” (this option is available only during “labs test”)
      2. Obtain at least 170 points (if you fail all the “labs tests”, you have to go for this one)
  • You can get points by:
    1. Attending workshops and writing quick tests at their beginning
    2. Doing homeworks (and submitting them to ReCodEx or me)
    • Details can be read within this spreadsheet (GDrive)
    • All homeworks have relaxed deadlines, deliver them anytime you want but heed to the dates above!

Lab Test

  • There are going to be 3 opportunities to do the lab final test
    1. Monday, 13.5.2019, 14:00?, SW2
    2. Monday, 20.5.2019, 14:00?, SW2
    3. Monday, 27.5.2019, 14:00?, SW2

Semester Project

Labs: History

Lab 08 - 7.4.2019

  • Dynamic Programming
    • Yeah, this one I really “like”…
    • Homework 08 - Longest common subsequence implementation
      • Expect two lines with two strings and output the result of LCS algorithm over them
      • 10 points

Lab 07 - 1.4.2019

Lab 06 - 25.3.2019

  • Theme Hospital Part 2
    • Dijsktra, Heap, Debugging and ToString
    • Homework 06 - Theme Hospital Path Finding

Lab 05 - 18.5.2019

  • Theme Hospital Part 1
    • Theme Hospital input
    • Enums, Dictionary, Regex
  • Homework 05 - Theme Hospital Input Parser

Lab 04 - 11.3.2018

  • Homework 04.1 - The Snake Stub
    • see the slides for the homework details
    • The Snake Class diagram - not the best, it can be improved, you do not need to heed to this; if you opt to change the architecture, send me your class diagram along with the stub!
    • you have to produce just the stub - practice declarations of classes, interfaces, methods, etc. according to UML!
    • Example Snake - done by my former student ;)
    • 10 points
  • Homework 04.2 - The Snake
    • see the slides for the homework details
    • implement the Snake :-)
    • 15 points

Lab 03 - 4.3.2019

  • Homework 03.1 - Extendable Calc
    • see the slides for the homework details
    • 10 points
  • Homework 03.2 - Draft UML for CalcWithMemory architecture
    • see the slides for the homework details
    • you can use, e.g., freeware yEd tool for drawing an UML Class diagram
    • 8 points

Lab 02 - 25.2.2019

  • Tree and Graph crawling using Depth/Breadth-first Search
  • Homework 02 - GameBook - Part 2
    • see the slides for the homework details
    • in a nutshell, you have to create a program that will auto-play me a game book
    • once you finish Homework 01, you can email me to receive a new template for this homework
    • 15 points

Lab 01 - 18.2.2019

  • Homework 01 - GameBook - Part 1
    • see the slides for the homework details
    • in a nutshell, you have to create a program that will allow me to play a game book
      • you can start your implementation from here
      • or you can use impl from the lab
    • 10 points

Lab 00 - Prequel

  • C# CrashCourse
    • Learn syntax of C# via examples from the following Visual Studio 2017 Project: C# CrashCourse
  • Homework 00 - First Steps in C#
    • Then you can try to solve the first 22 small C# programs: C# FirstSteps
    • 8 points
lectures/programming_ii_2018-19_summer_semester.1557085999.txt.gz · Last modified: 2019/05/05 21:53 by jakub.gemrot