Objectives and learning outcomes
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).
Contents/Syllabus
Fundamentals of computers (hardware/software)
Algorithm design and structured programming
Introduction to the C programming language
Basic structures of the C language: simple data types, variables, and operators (arithmetics, relationals and logicals)
Assignment instructions and input/output statements
Conditional statements
Repeat instructions (loops statements)
Functions
Arrays and strings
Pointers
User-Defined Data Types (structures)
Dynamic memory management
Text files and binary files
Recursive algorithms
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
- two written tests (WT): 16 points (8 points each)
- two practical tests (PT): 4 points (2 points each)
- Final Grade (FG): WT + PT
Exam
- Admission: FG >= 6
- Exam (E) - 16 points
- Final Exam Classification = E + PT
Calendar of assessment
- written test 1: 2024/11/4 (6 pm)
- written test 2: 2024/12/16 (6 pm)
- practical test 1: 8th week (in practical classroom)
- practical test 2: 14th week (in practical classroom)
Notes
C programming tutorials
Practical class
Edit, compile and run C programs
Algorithm design
Variable and expression manipulation
Assignment Instructions and Input/Output Instructions
Conditional statements
Repeat instructions (loops)
Functions
Arrays
Pointers
Dynamic memory management
Structures (struct)
Text files
Binary files
Recursive algorithms
Strings
C Compilers
DEV-C++ (for Windows)
CODE::BLOCKS »»»
User guide
Practical assessment
Carrying Out Practical Tests
Practical test
Assessment Platform
See in portuguese web page - Plataforma de Avaliação
Service hours
- Monday, 4 pm to 6 pm (Office 4.2)
- Tuesday, 4 pm to 6 pm (Office 4.2)