- Course responsible: Jonas Skeppstedt
- Literature: Jonas Skeppstedt/Christian Söderberg: Writing Efficient C Code. For more information about the course book, see its site here. The book may still be available at KFS but all distribution will be moved to print-on-demand through Amazon (for a European site, it is printed in Europe and the German site has free shipping to Sweden starting at EUR 39).
- Kursombud: TBD.
- When you need help in the course, you should use your lecturer's office hours, which are 12.30 - 13.00 every week day during the course.
- Note that you are not permitted to write the exam before you have passed all three assignments.
- If you would like to join the course after it has started, just make a solution to any of the assignments below (rpn, word, or poly) and send a mail to firstname.lastname@example.org with a subject line such as "assignment rpn by your_stil_id" and attach a program in a file such as rpn.c --- the file must have the same name as the assignment.
Programming in C is easiest on UNIX (such as Linux or MacOS X), and if you are using a non-UNIX operating system some options to access UNIX are:
- Use the PuTTY program to login remote to the Linux computers at the university: connect to login.student.lth.se.
- Install VirtualBox (from Oracle) and then install for instance Ubuntu there.
- Use dual booting so that you select operating system when you start the computer --- probably easiest with Ubuntu.
- Use the Ubuntu package available from Microsoft's app store
Contents Pages (LTH printing) F1 Introduction to C 41-80 (37-74) F2 malloc/free, strings, lists 80 - 111 (74 - 100) F3 Types, conversions, linkage 261 - 302 (243 - 282) F4 Declarations 325 - 382 (305 - 359) F5 Expressions and the C preprocessor 383 - 438 (361 - 415) F6 Statements and more about the C library 413 - 420, 439 - 616 (391 - 398, 417-580) F7 More library functions and old exam
The three programming assignments are compulsory and the deadlines are strict. You must email your code to email@example.com. If you miss a deadline you are invited to take the course next year. See the detailed rules to the left!
It is especially important that you use the correct Subject line when you email your solutions! It should be of the following form: assignment rpn by stil
You should NOT hand in a paper version since the assignments are graded by a program (actually several programs).
About 5 minutes after you have mailed your code, you should get a reply!
See the menu to the left where a PDF with the exercises can be found under Programming Assignments!
The full scores you can see in the table below, is last year's score (for you to compare with). These tables will be updated after the deadline.
|Assignment||Deadline||Exercise in the book||Winner 2017||Results|
|rpn||15/9 at 15.00||1.5||scores|
|word||22/9 at 15.00||1.8||scores|
|poly||29/9 at 15.00|| 1.7||scores|
Memory Efficient C Code Programming Competition 2015
- A big congratulations to Anton Klarén, D09, for winning the first competition in this course!
- During the tests, first the input in the downloadable makefiles is used and then a trivial but random or secret input is also used for checking correctness. Secret for word and random for rpn and poly.
- It is not possible to use only a local array allocated on the stack for the word assignment. Your program will crash when it sees the secret input (which is too large to mail back --- it's trivial but large).