Information about course

Semester:winter 2016/2017
Lecture:14:00 Wed, S3
 10:40 Tue, S6, this lecture is in English!!!
Practicals:14:00 Mon, SU2
 12:20 Tue, SU2
 12:20 Wed, SU2
 15:40 Thu, SU2, this practical is in English!!!
 9:00 Fri, SU2
Hours/week:2/2 ZK/Z
Lecturer:Petr Hnětynka
email: hnetynka _at_ d3s.mff.cuni.cz
Code:NPRG013
Previous year:winter semester 2015/2016

Practicals

  • Practicals start with the second week of the semester.
  • Practicals are in the Unix computer lab
  • Sign yourself to a practical using the information system
    • who is not signed to a practical within first three weeks of the semester will not receive "zápočet"
  • Information for those who repeats the course or does not want to attend the practicals
    • if you repeat the course and you have fulfilled some requirements of the course and you do not want to attend the practicals, then sign yourself to the special "virtual" practical
      • if you repeat the course but you want to attend a "regular" practical, of course you can
    • the requirements you fulfilled previous year can be accepted (but only in the scope of a single study)
      • explicitly write about it to the teacher of the particular practical
      • if you did not write the home project program, the topic is not automatically accepted
        • but it is not necessary to think out a new one; you can propose the original one
    • if you do not repeat the course but do not want to attend practicals, you can also sign yourself to the "virtual" practical
    • for the "virtual" practical, there are the same requirements and deadline as for the "regular" ones
    • "recipe" for the "virtual" practical
      • sign yourself to the "virtual" practical
      • write an email to the teacher of the "virtual" practical (Petr Hnetynka)
        • if you repeat the course, write about already fulfilled requirements
        • if you do not repeat the course, propose a topic of the home project program
      • work on homeworks
  • implementations of exercises from the practicals can be obtained here
    • WARNING: commonly there are incomplete implementations

Exam and "zápočet"

  • Exam is a written test
  • To obtain "zápočet" it is necessary to create home project program and successfully pass the practical programming test
  • Next, in the middle of the semester there will be six mandatory home-works.
    • It is necessary to obtain at least 225 of points from them (out of 450 points).
  • Practicals attendance is mandatory!
    • If you miss more than 3 practicals, you have to obtain at least 315 from the home-works.
  • Topics for the home program project has to be agreed till 13th January 2017
    • the topic is agreed with the teacher of the particular practical you are assigned to.
    • without properly agreed topic you will not obtain "započet"
  • Submitting the home program project
    • till the end of February; the latest deadline is 26th May 2017 12:00 (noon)
      • THIS IS FINAL DEADLINE AND WILL NOT BE EXTENDED!!!
    • the project is submitted by email; only if it is necessary the project is shown personally.
    • the project is submitted as a zip archive, which contains:
      • sources,
      • build.xml file for ant (allows compilation, javadoc generation, and execution of the project),
        • Maven can be used too
      • user documentation (as a plain-text or html or pdf) so the project can be launched and tested,
        • developer documentation can be javadoc only (all methods commented, commented packages, basic info on the overview page)
      • explicitly specified version of Java, which is necessary for compilation and execution (ideally specified directly in build.xml
  • Dates for exams and practical tests will be posted in SIS
  • Information about exam
    • duration 45 minut
    • written
    • no need to have "započet" in advance
    • no resources allowed (books, notes, slides,...)
      • (only a pen and your head are allowed :-)
    • there will be one exam during summer exam period and maybe one or two exams during the semester
  • Information about practical tests
    • duration 3 hours
    • in the Unix lab
    • you can use any printed resources (books, notes,...)
      • all electronic resources and network communication is forbidden (the exceptions are API documentation (without tutorials) and the course website, i.e. slides and examples)
    • there will be also two tests during the summer exam period
    • there are 5 attempts to pass the test
  • Homeworks will be posted here and announced during the lecture

Slides and examples shown during lecture and practicals

1.Introduction (lecture)5.10.2016CZEN
1.Practical 1 CZEN
1.Hello world, operators, owerflows,... (examples)  
2.Classes, interfaces, arrays, Strings12.10.2016CZEN
2.Practical 2 CZEN
2.Constructors, finalize, String compatrison,... (examples) NetBeans project
3.Exceptions, Unicode, literals, inner classes19.10.2016CZEN
3.Practical 3 CZEN
3.Exceptions, unicode, encoding,... (examples) NetBeans project
4.Assertions, Generics, Enum, VarArgs26.10.2016CZEN
4.Practical 4 CZEN
4.Assertions, Generics, Enum, VarArgs (examples) NetBeans project
5.Annotations, Lambdas, Javadoc and other tools2.11.2016CZEN
5.Practical 5 CZEN
5.Annotations, Lambdas (examples) NetBeans project
5.Ant (example)  
6.Input/Output9.11.2016CZEN
6.Practical 6 CZEN
6.Input/Output (examples) NetBeans project
7.Jar, Threads, java.lang.*16.11.2016CZEN
7.Practical 7 CZEN
7.Threads, java.lang.* (examples) NetBeans project
7.Practical 7plus CZEN
8.Collections, java.util.stream30.11.2016CZEN
8.Practical 8 CZEN
8.Collections, java.util.stream (examples) NetBeans project
9.Serialization, Preferences, Network communications7.12.2016CZEN
9.Practical 9 CZEN
9.Serialization, Preferences, Network communications (examples) NetBeans project

Links