Computer programming - fall of 2018

Lectures

S.L. dr. ing. Alexandru IOVANOVICI

  • Monday: 12-14 (Each Week - until further notice), ASPC
  • Tuesday: 10-12 (Each Week), A109

Labs

S.L. dr. ing. Alexandru IOVANOVICI, ing. Raul STOIN, ing. Mario SAVU

Schedule according to the official one. NOTE: Group 3.1 will move to room B520 for Tuesday 08:00 lab!!!.

You have to attend all the labs and obtain a passing grade for all the required and graded activities in order to pass the laboratory part of the subject.

Lab standings can be found here.

Office hours

Thursdys, 10-12, B529 or B520

Additional slots can be provided on request

Lecture slides and supplementary material

Lab Assignments

  • Week 1: Introduction. Basics of the language. Conditional execution of the programs.
  • Week 2: Character based I/O. Conditions. Loops1
  • Week 3: Basic input processing. Loops 2
  • Week 4: Internal representation. Bitwise operations (1). Prob 3., Prob 4.
  • Week 5: Internal representation. Bitwise operations (2)
  • Week 6: Recursion. Prob 6.
  • Week 7: Arrays
  • Week 8: Strings (character arrays)
  • Week 9: Input and output
  • Week 10: Pointers
  • Week 11: Dynamic allocation
  • Week 12: Files
  • Week 13: Preprocessor. Modular compilation
  • Week 14: Structures

Resources

  • Syllabus
  • Last year's course page is here.
  • Example Exam (for illustrative purposes and as a frame of reference). Those who consider themselves proficient in programming should try and solve this and later discuss with us the results. PB1.
  • VM image.
  • Midterm subjects.
  • Final exam, 1st attempt PbBytes; 2nd attempt.

You might be interested in the following ones too:

  • Richard M. Reese, Understanding and Using C Pointers, 2013
  • Kochan, Stephen G. Programming in C. Sams Publishing, 2004.
  • Press, William H. Numerical recipes 3rd edition: The art of scientific computing. Cambridge university press, 2007.
  • Coursera online course: Programming Languages; Not using C, but interesting if you have curiosties in "many of the concepts that underlie all programming languages"
  • Khan Academy online.
  • What can C++ do for embedded systems developers? - Bjarne Stroustrup
  • The Developement of the C programming language - Dennis Ritchie
  • A set of video lectures about the maths and programming behind autonomous driving.
  • Quora question about Linus Torvalds, C vs C++, Java, ...