Course Related Lecture Material for Advanced hardware-oriented C and Assembly Language Programming
- Advanced Elective Module (total of 2 + 2 SWS, 3 + 3 ECTS, see below)
- Fraunhofer IAIS Initiative "Roberta - Lernen mit Robotern" -
- Limited number of seats - entry test must be passed!
Schedule Spring Term 2019
- Weekly appointments, Monday 13:45 - 17:00 (timeslot still subject to change)
- Locations T2.2.05 and Computer Science Lab T2.2.07
to resource limitations, only one of the two elective courses "Advanced hardware-oriented C and Assembly Language
Programming" and "Robot Programming" will be held in Spring Term 2019, depending on the number
of potential participants.
- If you are interested in either course, please send an early email.
Requirements and Registration
- This is an advanced software development project for students who enjoy programming.
- Advanced skills in programming, computer science, and calculus are required.
- Your grades in the related lectures should range from good (2) to very good (1).
this course you will do an extensive amount of programming, and you
must be able to independently familiarize yourself with new topics.
- Please note that the official course language is English.
- Prior registration and the successful completion of the entry test are mandatory.
- All individual elective courses at Pforzheim University are 2 SWS / 3 ECTS.
- This course can only be taken in combination with "Advanced Software-Development Project Implementation".
- The total workload therefore amounts to 4 SWS and 6 ECTS.
- The 6 ECTS are equivalent to 180 hours of extensive programming.
- There are usually many different ways to correctly compute a solution to a given problem, or to write a program that solves a given task.
- However, programs can greatly differ in how quickly they compute a solution, and in how much memory they need to do this.
- We are not talking about the speed of the CPU that executes the code, but about the number of computational steps of the underlying algorithm.
- Are you satisfied with your code as soon as "it does what it is supposed to do"? Then this course is not for you.
- Don't you care if your code does unnecessary computations because "nobody will notice as the processor is fast enough anyway"? Then this course is not for you.
- Are you indifferent to whether your code needs more runtime memory than necessary, because "your machine has enough gigabytes anyway"? Then this course is not for you.
- Or do you want your program to run as fast as possible, independently of the machine it is running on?
- And do you want your program to also run on machines with just a minimum amount of memory?
- Then read on, because this might be the place for you...
- Advanced knowledge of the C Programming Language
- Advanced C Programming Skills
- Inner workings of a C compiler
- Assembly language programming
- Deeper understanding of how C is mapped to assembly language
- Advanced machine oriented C-programming techniques
- Design and implementation of runtime efficient algorithms
- Design of task specific memory efficient data structures
- Game development techniques
- Low level bit twiddling hacks
- All these are advanced programming topics which are far from easy.
- If you want to avoid an extremely difficult lecture...
- If you do not want to work very, very hard...
- If you are not interested
in an extraordinary programming challenge...
- If you do not like to embark
on a mission of exploration...
- ... THEN BY NO MEANS NEVER EVER FOLLOW THIS LINK!!!
Latest modification on 02/18/2019, 00:00