Corso Vittorio Emanuele II, 39 - Roma 0669207671

Management Engineering (Academic Year 2020/2021) - Production path

Programming



Slides

Lesson n. 1: Basic computer architecture
   Goals

   Overview
Go to this slide Paolo Enrico Camurati
Lesson n. 2: Data representation - Introduction to computer and programming (part I)
   Representations
Go to this slide Paolo Enrico Camurati
Lesson n. 3: Data representation - Introduction to computer and programming (part II)
   2's Complement

   Errors, Range

   ASCII code
Go to this slide Paolo Enrico Camurati
Lesson n. 4: Basic arithmetic
   Operations

   2C Operations

   Number Circle
Go to this slide Paolo Enrico Camurati
Lesson n. 5: Boolean algebra
   Definition by properties

   Algebra of Classes

   Boolean representation
Go to this slide Paolo Enrico Camurati
Lesson n. 6: Computer architecture
   Bus System Model

   ALU

   Memories
Go to this slide Paolo Enrico Camurati
Lesson n. 7: From hardware to software
   Instruction Cycle

   Assembly

   Executable code
Go to this slide Paolo Enrico Camurati
Lesson n. 8: Introduction to programming
   Data type

   Elementary blocks

   Loops
Go to this slide Paolo Enrico Camurati
Lesson n. 9: Elementary problem solving (parte I)
   Examples of solving problems

   Examples with flow charts
Go to this slide Paolo Enrico Camurati
Lesson n. 10: Elementary problem solving (parte II)
   Iterative constructs

   Recursive algorithms
Go to this slide Paolo Enrico Camurati
Lesson n. 11: Programming languages & starting example
   Procedural programming

   Classification of programming languages

   Compilation phases of the C language

   The first program
Go to this slide Paolo Enrico Camurati
Lesson n. 12: Program structure
   Elements of a program
Go to this slide Paolo Enrico Camurati
Lesson n. 13: Input/Output (Part I)
   Operators

   I/O of values
Go to this slide Paolo Enrico Camurati
Lesson n. 14: Input/Output (Part II)
   printf/scanf conversion specificiers

   Example of using printf
Go to this slide Paolo Enrico Camurati
Lesson n. 15: Input/Output (Part III)
   Advanced conversion specifiers

   Examples
Go to this slide Paolo Enrico Camurati
Lesson n. 16: Conditional statements (part I)
   The IF statement

   The SWITCH statement

   The conditional statement
Go to this slide Paolo Enrico Camurati
Lesson n. 17: Conditional statements (part II)Iterative Statements (part I)
   Iterative Statements
Go to this slide Paolo Enrico Camurati
Lesson n. 18: Iterative Statements (part II)
   The WHILE statement

   The FOR statement
Go to this slide Paolo Enrico Camurati
Lesson n. 19: Iterative Statements (part III)- Arrays (part I)
   Reti locali

   Ethernet

   Reti locali wireless (WLAN)

   PAN-Personal area network
Go to this slide Paolo Enrico Camurati
Lesson n. 20: Arrays (part II)
   Initialization

   Example of use of arrays with FOR loops
Go to this slide Paolo Enrico Camurati
Lesson n. 21: Arrays (part III) Sorting algorithms (part I)
   Matrices

   Sorting algorithms
Go to this slide Paolo Enrico Camurati
Lesson n. 22: Sorting algorithms (part II)
   Bubble sort

   Selection Sort

   Counting Sort
Go to this slide Paolo Enrico Camurati
Lesson n. 23: Functions (Part I)
   Divide and conquer strategy for solving problems

   Function semantics

   Global variables

   Parameter passing
Go to this slide Paolo Enrico Camurati
Lesson n. 24: Functions (Part II) Pointers (Part I)
   Pointers
Go to this slide Paolo Enrico Camurati
Lesson n. 25: Pointers (Part II)
   Examples
Go to this slide Paolo Enrico Camurati
Lesson n. 26: Files
   File Handling in C

   File Access

   Access Rules

   Functions
Go to this slide Farouk Al Omari
Lesson n. 27: Pointers I
   Computer Memory

   Pointers
Go to this slide Farouk Al Omari
Lesson n. 28: Pointers II
   Pointers and Functions Arguments

   Pointers and Array

   Address Arithmetic
Go to this slide Farouk Al Omari
Lesson n. 29: Strings
   Strings

   Strings as character pointers

   The strcmp() Function
Go to this slide Farouk Al Omari
Lesson n. 30: Structures
   Structures in C

   Keeping Data Together

   Structures vs. Arrays

   Nested Structures

   Pointers to structures

   Array of structures

   General Notes on structures
Go to this slide Farouk Al Omari
Lesson n. 31: Sorting I
   Why Sorting

   External and Internal Sorting

   Sorting Algorithms

   Our Focus

   Insertion Sort
Go to this slide Farouk Al Omari
Lesson n. 32: Sorting II
   Selection Sort Algorithm

   Examples

   Sample Code

   Complexity Analysis

   Properties
Go to this slide Farouk Al Omari
Lesson n. 33: Sorting III
   Bubble Sort

   Bubble Sort Algorithm

   Bubble Sort C Code

   Complexity Analysis

   Properties of Bubble Sort
Go to this slide Farouk Al Omari
Lesson n. 34: Searching
   Notation

   Sequential Search

   Binary Search

   Complexity Analysis
Go to this slide Farouk Al Omari
Lesson n. 35: 2d Arrays
   Two Dimensional Arrays

   Declaration

   Accessing 2D Arrays

   Arrays and Functions

   Array of Strings

   Dynamic Memory Allocation
Go to this slide Farouk Al Omari
Lesson n. 36: Stacks I
   Stacks in our life

   Computer Stacks

   Stacks Manipulation

   Basic Operations on A Stack

   Implementing Stack with Array

   Data Structure
Go to this slide Farouk Al Omari
Lesson n. 37: Stacks II
   Basic Operations - Push

   Example

   Stack Initialization - Revisited
Go to this slide Farouk Al Omari
Lesson n. 38: Queues I
   Queues in out life

   Computer Queues

   Application of Queues

   Basic Operations on A Queue
Go to this slide Farouk Al Omari
Lesson n. 39: Queues II
   Prototypes of functions on Queues

   Implementation of Queues
Go to this slide Farouk Al Omari
Lesson n. 40: Queues III
   Implementing Circular Arrays in C

   Create A Queue

   Array implementation of queues
Go to this slide Farouk Al Omari
Lesson n. 41: Linked Lists I
   Properties and Limitations of Array Representation

   Abstract Data Types

   Linked Lists

   Node and List Declarations
Go to this slide Farouk Al Omari
Lesson n. 42: Linked Lists II
   Simple List Operations

   Set Position

   Insertion Function Prototype

   Insertion Code
Go to this slide Farouk Al Omari
Lesson n. 43: Linked Lists III
   Simple List Operations

   Comments on Node Deletion

   Traverse a List

   Find a List size

   Find a Target Node
Go to this slide Farouk Al Omari
Lesson n. 44: Stacks and Queues: Linked lists implementation I
   Stack is an Abstract Data type (ADT)

   Multiple Implementations

   key structures in C

   Create a Stack
Go to this slide Farouk Al Omari
Lesson n. 45: Stacks and Queues: Linked lists implementation II
   Pop Operation

   Stack full function

   Compare Implementations
Go to this slide Farouk Al Omari
Lesson n. 46: Recursion I
   Introduction

   Recursion Tree

   Recursion Process
Go to this slide Farouk Al Omari
Lesson n. 47: Recursion II
   Designing Recursive Algorithms

   Implementation Considerations

   Binary Search
Go to this slide Farouk Al Omari
Lesson n. 48: Recursion III
   Key Step Outline

   Backtracking Algorithms

   Choosing the data structure

   Implementation
Go to this slide Farouk Al Omari
Lesson n. 49: Recursion IV
   The Towers of Hanoi

   Power Function

   Divide and Conquer Sorting

   Merge Sort
Go to this slide Farouk Al Omari
Lesson n. 50: Notions of Algorithms Complexity
   Measures of Algorithm Complexity

   Efficiency Measures

   Big - O - Notation
Go to this slide Farouk Al Omari
Lesson n. 51: Programming
   Pointers revisited
Go to this slide Aliaa Youssif
Lesson n. 52: Pointers II
   Pointers revisited as arguments

   Pointers and arrays
Go to this slide Aliaa Youssif
Lesson n. 53: Files
   Files general concept revisited
Go to this slide Aliaa Youssif