This is an old revision of the document!


Programming I - Labs 2018/2019

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

Permalink: http://bit.ly/mff-uk-prg1-labs-2018


Dates

Tuesday's labs, 14:00, SW2, Jakub Gemrot: jakub.gemrot@gmail.com


Interesting

VisuAlgo - visualization of algorithms including AVL trees!


How to pass the labs

  • Max TWO absences
  • Do ALL homeworks I give you
    • Almost no excuses here, it has very good motivation I('ll) share during the first lab
  • Pass a lab exam
    • Two dates: 18. 12. 2018 / 8. 1. 2019
  • Come up with an individual semester project
    • Project idea deadline: 3.12.2018
    • Description deadline: 17.12.2018
      • Use (copy-and-update) the following template
    • Ideas can be get from Martin Mareš's topic examples

Submitting homeworks

Send me an email (jakub.gemrot@gmail.com) containing a link where I can download your homework / project.

Ideally use DropBox or One Drive or WeTransfer; from time to time I have problems downloading files from GDrive (they are having wild JavaScripting that gets blocked by my filters occasionally).

Always use subject: PRG1 - 2018 - L[lab number] - [homework name]

The subject is crucial! My mailbox is often overflowing and I have to process emails in batches - at these times, I'm searching for your homeworks via subject names.


Labs History

Lab 04

  • 23.10.2018
  • So we have presented correct lower-estimate for sorting algorithms based on comparison of two numbers, yep O(N log N) is the best we can hope for
  • But only for a given assumptions, see Counting Sort, for small range of natural numbers, you can have sort with time complexity O(N)! But it's not working in-place, what a pity.
  • Then I've been showing Pascal language, some bits of Lazarus, and we have a homework!
    • PRG1 - 2018 - L04 - Small Programs
  • WARNING: 30.10. - immatriculation, 6.11. - Dean's day, 13.11. - I'm in Canada ;(

Lab 03

  • 16.10.2018
  • We talked about time complexity of algorithms, we touched Big-O notation (Landau Notation)
  • I've failed to show you the correct computation of the lower bound for sorting, which we will fix next week
  • No homeworks folks! Yay! Finish the ones from previous weeks :-)

Lab 02

  • 9.10.2018
  • We did some mind-troubling puzzles again :)
  • Homeworks
    1. PRG1 - 2018 - L02 - Install Pascal
      1. If on Win/Linux - install Free Pascal, compile and run the following code and send me a screenshot
      2. If on Win - install ConTEXT and configure it so you can compile and run the code above from it as well, send me a screenshot (instead of ConTEXT, you can try also PSPad, Notepad++ or Sublime, etc.)
      3. If on Mac - try following these steps, compile and run the code above as well, send me a screenshot
    2. PRG2 - 2018 - L02 - Glasses
    3. PRG2 - 2018 - L02 - River
    • Deadline: 15.10.2018 23:59

Lab 01

  • 2.10.2018
  • Welcome to Programming!
  • Some introductory formal / informal info
  • First batch of homeworks :)
    1. PRG1 - 2018 - L01 - Login
      1. Go to SISAL and create an account for the lab
      2. NEW: test that you can login to some computer in Rotunda using your CAS (SIS) credentials
      3. Create an account in ReCodEx; this can be done IF AND ONLY IF you have entered your email adress into the CAS
      4. Send me an email with you CUNI number and login to ReCodEx
    2. PRG1 - 2018 - L01 - Prisoners
      • Solve the following problem, Prisoners, and ideally (but optionally) prove that your solution is working
    3. PRG1 - 2018 - L01 - Coins
      • Solve the following problem, Wizard & Prisoner - Coins, in a way that the description also serves as a proof that your algorithm is working
    • Deadline: 8.10.2018 23:59
programming_i_2018-19_winter_semester.1540320736.txt.gz · Last modified: 2018/10/23 20:52 by jakub.gemrot