Learning outcoming
The general learning objectives are as follows:
- Understand the fundamentals of programming to solve computational problems using computers.
- Understand how to abstract a concrete problem for its proper specification / modeling and implementation in the form of a computer program
- Introduce the basic concepts of imperative programming.
- Develop programming skills using the C language.
- Realize and know how to properly integrate a programmatic solution with the architectural contingencies of a computer (e.g., computer arithmetic, dynamic memory resource management).
Syllabus
Fundamentals of computers (hardware/software)
Algorithm design and structured programming
Introduction to the C programming language
Simple data types
Tests decisions
Conditions
Loops (repetitions)
Functions/subprograms
Arrays and strings
Pointers
Dynamic memory management
Structures ("structs")
Files (text and binary)
Recursion
Bibliography
"The C Programming Language", Second Edition, 1988
Brian W. Kernighan and Dennis M. Ritchie
Prentice Hall Software Series
ISBN: 978-013-110-362-7
"Practical C Programming: Why Does 2+2 = 5986?", 3rd Edition, 1997
Steve Oualline
O'Reilly Media
ISBN: 978-156-592-306-5
Assessment criteria
Learning period
- 2 Written Tests (WT) - 16 points (8 points each)
- 2 Evaluations of Knowledge on Practical Classes (PC) --> 4 points divided by 2 times (2 point each)
- Final Grade (FG): WT + PC
Exam
- Admission: FG >= 6
- Exam (E) - 16 points
- Final Exam Classification = E + PC
Calendar of assessment
- Written Test 1: 2024/11/4 (6 pm) (classroom 6.01)
- Written Test 2: 2024/12/16 (6 pm) (classroom 6.01)
- Evaluations of Knowledge on Practical Classes: 8th week and 14th week (practical classroom)
Notes
C programming tutorials
Introduction to Programming in C
Introduction to the C Programming Language
Fundamentals of computers (hardware/software)
Basic structures of the C language: simple data types ## variables and operators
Assignment instructions and input/output instructions ## more about assignment instruction ans I/O instructions
Conditional statements ## more about conditional statements
Repeat instructions (loops) ## more about repeat instructions (loops)
Functions ## more about functions
Dynamic memory management ## memory allocation
Text files and binary files ## more about files
Recursive algorithms ## more about recursive algorithms
Practical exercices (in portuguese)
Edit, compile and run C programs
Variable and expression manipulation
Assignment Instructions and Input/Output Instructions
Service hours
- Monday, 4 pm to 6 pm (Office 4.2)
- Tuesday, 4 pm to 6 pm (Office 4.2)