Available from October 14, 2016 until February 10, 2017

Course: DA-COPL Edition: WS 2016-17

About the Course

This is the Weblab course edition for “Concepts of Programming Languages” in winter semester 2016/2017. Course material and announcements can be found at https://repository.st.informatik.tu-darmstadt.de/teaching/copl/2016/index.html.

Latest Announcements

Assignment 12

In the initial version of Assignment 12, there was a small type error involving Symbol and String (see also https://www.fachschaft.informatik.tu-darmstadt.de/forum/viewtopic.php?f=300&t=35472).

We fixed that error shortly after the assignment went online. If you happen to not see the fix, hit the reset button.

The compilation errors resulting from “???” are normal, because the Weblab still does not use a Scala version which understands this notation and we did not add it manually to the background library either. They should go away once you replace “???” with your solution.

at Thu, Feb 2, 2017 17:10:19

Weblab assignment 7, Part 3: Some hints about insert and lookup

For some more hints about insert and lookup, see the course forum:

at Tue, Dec 20, 2016 17:40:21 updated at Wed, Dec 21, 2016 13:40:07

General Weblab announcements

(These announcements have been copied from the COPL forum https://www2.fachschaft.informatik.tu-darmstadt.de/forum/viewtopic.php?f=300&t=35172 and be extended/updated.)

Hi COPL students,

in this post, I’ll collect some general announcements regarding the Weblab assignments. I may edit/extend this post - so keep checking it, if in doubt about anything.

1) As you should know from the general TUD rules, also for the Weblab assignments holds: No plagiarism!!
That means: No copying of other student’s solutions, and no copying from the Internet.

2) Do not change given code/function signatures (unless explicitly asked to by the task description).
Notably, that includes not changing the type of function arguments/return values.

3) Regarding use of library functions:
If the task description forbids you to use certain library functions, we mean it. Using them will cause removal of points.
If the task description does not forbid you to use library functions, you may use them

4) Independence of tasks solutions.
For fairness, the different subtasks of an assignment are graded by different people. Hence, if you feel you need to refer to anything you have done in another subtask, copy it over. The grader will not necessarily be able to see what you have done in another subtask.

5) No unnecessarily complicated code.
In general, we want you to come up with a concise, readable, minimal solution. We typically don’t want to see complicated nested if or case-blocks or pattern matching on a thousand different similar cases, or code that reverses a list twice before actually doing something with it etc. etc. Typically, you may choose readability of code over efficiency.
We do remove some points if your code gets too complicated - the purpose of COPL is not to hack some crazy solution that somehow works, but to learn about sensible programming concepts.

5.5) Functional style!
We typically look for solutions written in functional style - that is: no mutable constructs used (e.g. “var”), no “null” values etc. In particular, if the task expects you to iterate over sth. we are typically looking for a recursive solution.
However, there are some cases where mixing in some mutability into the code greatly simplifies things, which is why we often don’t explicitly forbid you to use mutable constructs in the task description either.
Writing programs requires good taste, which is hard to define. But we will know when your code is bad :wink: .

6) Passing some or all test cases in the Weblab does not automatically translate to actually getting any points.

7) In your own interest: Always check your grade.
The Weblab contains numerous bugs - my personal favorite: summation bugs in both directions (too many/too few points). In general, we try to spot them all before publishing the grades, but with so many students, it’s highly likely to miss something.
Report any issues - but be specific! If you just write sth. like “Could you check my grade again” we will not do anything ;).
Note that sums result from computing a weight. E.g. Assignment 1 has 2 parts with equal weight. That means if you have 10 points in the first part and 5 in the second, you will have 7.5 points for the entire assignment 1. Sometimes, weights are not equal (e.g. in the second part of assignment 1, the interpreter subassignments counts 2/3, preprocessor 1/3).

at Thu, Nov 24, 2016 10:48:45

Welcome to the WS 2016 edition of COPL!

This is the Weblab course edition for “Concepts of Programming Languages” in winter semester 2016/2017. Course material and announcements can be found at https://repository.st.informatik.tu-darmstadt.de/teaching/copl/2016/index.html.

To participate in graded assignments with which you can acquire a bonus for the exam, register at Weblab and enroll in this course edition.
IMPORTANT: Register with your full name! If you register with a nickname, we will not grade you.

Graded assignments will appear here on a weekly basis (typically right after the Thursday lecture, at about 14:00). The very first assignment (Assignment 00) is just a test assignment which we will grade, but the grades will not matter for the bonus. Each week, you will have until the following Thursday, 11:00, to submit your solution.

at Fri, Oct 14, 2016 14:40:20 updated at Fri, Oct 14, 2016 14:43:56

View all announcements