Computer programming
Instructor: Marius Minea, marius@cs.upt.ro (Office: B531. Phone: +40-256-403284)
Lab assistant: ing. Dr. Alexandru Iovanovici
Course: Mon 12-14 (odd weeks), ASPC; Tue 10-12, A109
Lab: Thu 10-14, B418a+b
Office hours (exam period): Mon Feb 1 + Wed Feb 3, 12h, B628
past: Wed Jan 27, 12h, Mon Jan 25, 12h, Fri Jan 22, 10:30h, Mon Jan 18, 16h
Office hours (teaching period): Wed 14-16 B418a+b
Lab attendance/results
Exam results (1, 2 and 3)
Midterm results
Midterm solutions
n-ary prefix expressions, read function term
swap octal digits, max of rotated numbers,
capitalize first letter, spaces to dashes
Course materials
An excellent pledge on how to be a student in a course (CS @ U. of Virginia)
last year's course
- Introduction. Recursion
Sample programs: Fibonacci words, box fractal
- Recursion. Decision. Characters
- Recursion. Assignment. Iteration
Sample programs: filter HTML tags, filter LaTeX commands with braces
- Iteration. Side effects
Sample programs: capitalize words (variant: first letter), factor into primes, balanced parantheses
integer expression recursive, iterative inner loop
- Internal representation. Bitwise operators
Sample programs: bitwise addition, stream bits, bitmap processing, float structure
- Arrays
Sample programs: n choose k, collapse spaces
- Input/Output
Sample program: read ints line by line
- Pointers
Sample programs: strchr with index/pointer,
read ints from string,
- Pointers.
Sample programs: matrix multiply,
string sort, read and count numbers, prefix expression from string
- Dynamic allocation
Sample programs: array of arbitrary size
- File I/O
Sample programs: various file ops, bitmap info, check PDF (variant)
Modular compilation. Abstract datatypes. Example: intlist.h, intlist.c, working with lists
Recitation. Sample programs: half bitmap, scanf to buffer
- Structures
Sample program: construct terms
- Linked lists
ordered lists, queues: header, implementation, test program
Hashing. just words, frequence count, general hashmap
- Review
Laboratory
If needed, use the online compilers at Codepad or Coding Ground
- Homework+Lab 1: Introduction. Recursion
- Homework+Lab 2: Recursion
Solved problems: Trigonometric series, reverse word
- Homework 3 + Lab 3: Iterative character processing
Solved problems: read base 8/10/16, thousands separator, word count with state flag, with inner loop
- Homework 4 + Lab 4: Character processing: recursive and iterative
Solved problems: continued fraction, stacked expression, fixed-width printing
- Homework 5 + Lab 5: Bitwise operators
Solved problems: bit compare, count bit segments, add floats, float inverse
- Homework 6 + Lab 6: Arrays
Review problems
- Homework 7 + Lab 7: Strings and Input/Output
- Homework 8 + Lab 8: Pointers
- Homework 9 + Lab 9: Pointers
- Homework 10 + Lab 10: Dynamic allocation
- Lab 11: Files
- Lab 12: Structures
- Lab 13: Abstract datatypes. Lists.
Review
Resources
Marius Minea
Last modified: Thu May 26 16:00:00 EEST 2016