Unit COMPUTER SCIENCE BASIS FOR ELECTRONICS

Course
Computer science and electronic engineering
Study-unit Code
A003461
Curriculum
Ingegneria elettronica
Teacher
Emilio Di Giacomo
Teachers
  • Emilio Di Giacomo
Hours
  • 81 ore - Emilio Di Giacomo
CFU
9
Course Regulation
Coorte 2025
Offered
2025/26
Learning activities
Caratterizzante
Area
Ingegneria informatica
Academic discipline
ING-INF/05
Type of study-unit
Obbligatorio (Required)
Type of learning activities
Attività formativa monodisciplinare
Language of instruction
Italian
Contents
Part in common with the first module of the course Fundamentals of Computer Science - PRELIMINARIES - PROCEDURAL PROGRAMMING (C language) - RECURSION Exclusive part for the course Fundamental of Computer Science for Electronics: - INTRODUCTION TO COMPLEXITY ANALYSIS - SEARCHING AND SORTING
Reference texts
Deitel and Deitel “Il linguaggio C, fondamenti e tecniche di programmazione”, Pearson
Educational objectives
After a brief introduction to the representation of information, procedural programming is introduced using the C language. In addition to presenting the language constructs, students are taught how to approach and solve simple computational problems, with the aim of developing computational thinking and an algorithmic approach to problem solving. To this end, recursion—an essential algorithmic technique in computer science—is also introduced. In the part of the course reserved exclusively for students in the Electronics curriculum, complexity analysis and the problems of searching and sorting are briefly presented. By the end of the course, students are expected to have the following knowledge: - understanding of the basic concepts of programming (data type, variable, parameter, control structures, arrays); - understanding of the constructs of the C language (functions, pointers, structures). By the end of the course, students are also expected to have the following skills: - ability to identify algorithmic solutions to simple computational problems, possibly using recursion; - ability to implement such solutions using the C language.
Prerequisites
No specific preliminary knowledge is assumed
Teaching methods
The course is organized as follows: 1- Lectures (54 hours, 6CFU) during which the various subjects of the course are explained and some excercises are done in order to help the understanding of the explained subjects and as a training for the exam. 2- Practical activity in the computer lab (27hours, 3CFU). Students, supported by the teacher, write programs on the computer thus applying the concepts that they learned during the lectures. These lab activities are also useful as a training for the practical test during the exam
Learning verification modality
The examination consists of the following two tests Written examination with multiple-choice tests. Duration: 60 minutes Score: 10/30 Objective: to ascertain knowledge of the theoretical concepts taught in the course and the ability to understand and use the C language constructs learnt in the course Practical programming test Duration: 120 minutes Score: 20/30 Objective: to ascertain the student's ability to write simple programs in C. The practical test is only taken if the result of the written test is sufficient. The overall score is obtained as the sum of the scores from the two tests. For information on support services for students with disabilities and/or DSA visit http://www.unipg.it/disabilita-e-dsa
Extended program
PRELIMINARY CONCEPTS + Representation of information (overview) + Algorithms, Languages, and Programs PROCEDURAL PROGRAMMING (C Language) + The C language + Data types, Variables, Expressions + Control statements + Functions + Arrays and Pointers + Characters and Strings + Input and Output + Structures, Unions, and Enumerations RECURSION + Stack and activation frames + Recursion + Recursive types + Recursion and iteration INTRODUCTION TO COMPLEXITY ANALYSIS + Program efficiency + Cost function + Best, worst, and average case + Asymptotic notation + Rules for complexity analysis SEARCHING AND SORTING + The search problem + Sequential search and binary search + The sorting problem + Examples of sorting algorithms
Share on/Follow us on