Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English


You are supposed to work in groups of two to four people (we recommend four). You need to form groups yourselves, and to facilitate that there is a page "need partner" with is a list of students looking for group members. E-mail if you have trouble finding a group partner, and you will be added to the list of students looking for project group members.

I also answer questions about the project, and I will publish questions of general interest here (and the answers).

The report is due Wednesday, April 21 2021. 


Submission instructions will be published here when the project starts

Note about submission in SAM

When submitting via SAM, currently you don't seem to go past the "Processing..." page but your submissions are uploaded to the system correctly even if you don't get a receipt.


Your solution and report is to be submitted through the web interface at

Under Assignment, choose

Course: EDAF50 - C++-programmering (vt1, 2021)
Assignment: news

1. Under Students, enter the STiL identities of all group members

2. Under Submission content,

  1. write a brief message that it is your solution to the "news" assignment and the names of all group members
  2. upload your report and your source code archive

3. Click Submit handin to submit your solution


When your submission has been marked you will receive an email from the system. If asked to make corrections, make a new submission using the above procedure. After the initial submission, the system remembers the group members.


Assignment: create a news system

Files for the project:

The communication classes (Connection, Server, ...) clientserver.tar.gz 
The test programs TestServer1.jar 

The latest version of clientserver.tar.gz was uploaded 2019-02-15, 11:52

Notes, corrections and comments

Problems building libraries on MacOS

On some versions of the XCode tools, building the library libclientserver.a with the commands used in the Makefile does not work. Creating the archive with the commands: 

ar rv libclientserver.a  connection.o server.o
        ranlib libclientserver.a

will create an archive file that, when used, gives a linker error like

ld: warning: ignoring file /libclientserver.a, file was built for archive which is not the architecture being linked (x86_64): /libclientserver.a

and a list of undefined symbols.

The fix is to use the tool  libtool instead or ar and ranlib:

libtool -static -o libclientserver.a connection.o server.o