Course "Programming techniques and technologies" SS 2014

Staff

Lecture: Prof. Ralf Lämmel (ed.znelbok-inu|lemmeal#ed.znelbok-inu|lemmeal)

Lab: Dr. Manfred Jackel (ed.znelbok-inu|lkj#ed.znelbok-inu|lkj)

Assistants:

  • Michael Monschau (ed.znelbok-inu|uahcsnomm#ed.znelbok-inu|uahcsnomm)
  • Matthias Paul (ed.znelbok-inu|luapm#ed.znelbok-inu|luapm)
  • Erwin Schens (ed.znelbok-inu|snehcsniwre#ed.znelbok-inu|snehcsniwre)

Contact logic:

  • If you have questions or requests regarding team structure and svn, please contact E. Schens.
  • If you need technical advice on assignment, please contact Dr. Jackel and may loop in others.
  • If you have general concerns with the lab, please contact Dr. Jackel.
  • If you have general concerns with the lecture or the course overall, please contact Prof. R. Lämmel.
  • If you have a question regarding a specific score for an assignment, please contact the relevant hiwi.

Links

Exam

See exam admission rules elsewhere on this page.

  • Final
    • 29.07.14 during the regular lecture slot in the regular lecture hall.
    • "Klausureinsicht": Thursday 31.07.14 11:00 h B 129 (Dr. Jackel's Office)
  • Resit

Lectures

Lecture details forthcoming.

Date Topic Material
29.04.2014 Data programmability (.pdf)
06.05.2014 Build management link
13.05.2014 Parsing (.pdf)
20.05.2014 Parser generation (.pdf)
27.05.2014 Unparsing (.pdf)
03.06.2014 Database programming (.pdf)
17.06.2014 Design patterns (.pdf)
24.06.2014 Web app development (.pdf)
01.07.2014 Technology modeling (.pdf)
08.07.2014 Technology modeling cont'd (.pdf)
15.07.2014 Experiment (see your email) (.pdf)
22.07.2014 Metaprogramming (.pdf)
29.07.2014 Exam (to be confirmed) N/A

Labs

Resources from the lab:

No. Topic Description Date of issue
1 Startup Slides .pdf 28.04.2014
2 HttpConnection example .zip 28.04.2014
3 Slides about OAuth & Twitter .pdf 06.05.2014
4 OAuth & Twitter Java example with SignPost Eclipse-Archiv 06.05.2014
5 Same as above with Json prettyprinter Eclipse-Archiv 08.05.2014
6 Bootstrapping Antlr 4 .pdf 19.05.2014
7 101Company examples with Antlr 4 Eclipse-Archiv 26.05.2014
8 JSON Pretty Printer with Antlr 4 Eclipse-Archiv 26.05.2014
9 JSON Pretty Printer (Unparser) using Stringtemplates Eclipse-Archiv 02.06.2014
10 Quickstart HSQL & Hibernate slides (preliminary .pdf 16.06.2014
11 Anpassung des Beispiels 101repo:hibernate an Hibernate 4.3.2 Eclipse-Archiv 16.06.2014
12 Das MVC-Beispiel von Sun/Oracle Eclipse-Archiv 23.06.2014
13 Ausgewählte Folien aus patterns.pdf .pdf 23.06.2014
14 QuickPython/Django .pdf 23.06.2014
15 More Design Patterns .pdf 07.07.2014
16 Modeling JAXB slides .pdf 14.07.2014

Assignments

The assignments are designed to help understand all material covered in the lecture. Also, the assignments support effective preparation for the exam. Issued assignments are discussed in the lab. Completed assignments are discussed in detail in the lab. Ongoing assignments are discussed during scrums in the lab.

Deadlines are End-of-Day, Koblenz timezone.

No. Topic Description Date of issue Deadline
1 XML/JSON/HTTP link <= 28.04.2014 18.05.2014
2 Parsing and unparsing link <= 19.05.2014 15.06.2014
3 Web App development link <= 16.06.2014 06.07.2014
4 Technology modeling link <= 07.07.2014 21.07.2014

Exam admission rules

Admission for 2013, 2012, 2011, 2010 is inherited to 2014.

Students need to pass homework assignments as follows:

  • Assemble teams of 3 students via the registration web site.
  • Submit solutions by the deadline. Late submissions are not graded.
  • Observe the solution submission rules, described elsewhere on this page.
  • There are 4 assignments; you need to receive at least a cumulative score of 8.
  • Each student presents at least once the completed assignment in the lab.
  • Each student presents at least once during a scrum in the lab.
  • Students need to register for the exam via KLIPS.

Scores

  • 0: missing or useless or late submissions
  • 1: non-trivially incorrect or incomplete
  • 2: Ok solution
  • 3: Overachievement

Scrum

As noted above, ongoing assignments are continuously discussed during lab time in a scrum. Given the small size of the lab groups (approx. 30), which implies approx. 10 teams per group, where each team would briefly speak up during the scrum as follows:

  • What has been done since last week? (By whom?)
  • What milestones are ahead of us?
  • What is the expected division of labor?
  • What problems do we face?
    • Short discussion of these problems
    • Possible resolution to get help from hiwis

The complete scrum could take up to 30mins, but never more than 45mins. The presentations can be informal; no slides or other material is required, but they must follow the checklist as listed above.

Solution submission rules

  • Late solutions are not graded. That is, late solutions receive score 0.
  • Solutions are assigned through the svn repo that is assigned to each team.
  • Solutions need to build and test more or less "out of the box".
  • Solutions need to include (e.g., in a README) basic instruction for building and testing.
  • By default, solutions should be using Java 6 or 7, recent Eclipse, and perhaps Maven, Ant, Gradle.
  • Text files and source code should be encoded utf-8.
  • Other platforms (including other programming languages) may be possible:
    • Apply to ed.znelbok-inu|gnaltfos#ed.znelbok-inu|gnaltfos with a description of your platform.
    • Your application must reach us within the first week of assignment.
    • Please allow 3 days for reply.
    • We only accept platforms that we expect to be able to support within our "budget".