Corso Programming Essentials in C

Figura professionale

Il corso Programming Essentials in C è un percorso introduttivo che forma un tecnico entry level in ambito sviluppo software inCorso Programming Essentials in C possesso dei fondamenti di programmazione in C. Linguaggio presente ovunque in device di uso quotidiano e nonostante la diffusione di linguaggi di programmazione di alto livello, C continua ad essere utilizzato in diversi settori: dalla costruzione della maggior parte dei sistemi operativi e compilatori in commercio alla produzione di software di uso quotidiano tra cui diversi browser, software e player multimedia, sistemi per la gestione di basi di dati, pacchetti di office automation, fino al computer gaming e a diversi gaming engines.

Vicino al linguaggio macchina, oltre ad essere un ottimo linguaggio di programmazione da apprendere, C è stato la colonna vertebrale per molti linguaggi come C++, Java e Python da cui ereditano le principali funzionalità.

In analogia con gli altri corsi Cisco e in linea con il Programma Academy, il corso Programming Essentials in C forma competenze richieste in diversi ambiti professionali come software development, network engineering, system administration ed IoT.

Il corso Programming Essentials in C prevede la comprensione dei fondamenti della programmazione, apprendendo la sintassi, la semantica e i fondamenti dei data type in C ed applicando in attività di laboratorio le competenze acquisite. Il percorso aiuta inoltre a sviluppare competenze logiche e di pensiero algoritmico.

Il percorso ha i seguenti obiettivi:

  • Introduzione alla compilazione e allo sviluppo del software,
  • Basic scalar data types e loro operatori,
  • Flow control,
  • Complex data types: array, strutture e puntatori,
  • Gestione della memoria,
  • Funzioni,
  • File e flussi,
  • Strutturare il codice: funzioni e moduli,
  • Direttive al preprocessore e dichiarazioni complesse .

Al percorso è associata la certificazione CLA Programming Language Certified Associate del C++ International Institute.

Struttura e durata

Il corso Programming Essentials in C ha una durata di 70 ore ed è pensato per essere erogato in modalità non intensiva, in un periodo di media-lunga durata per garantire alti tassi di apprendimento, soprattutto se in contesto education.

Destinatari e requisiti

Destinatari del corso sono aspiranti programmatori, anche alla prima esperienza. E’ richiesta la conoscenza della lingua inglese e conoscenze di base di informatica.

Non è richiesta la conoscenza di un linguaggio di programmazione.

Contenuti del corso Programming Essentials in C

Introduzione alla programmazione

  • languages: natural and artificial,
  • machine languages,
  • high-level programming languages,
  • obtaining the machine code: compilation process,
  • writing simple programs,
  • variables,
  • integer values in real life and in C,
  • integer literals

Data types

  • floating point values in real life and in C,
  • float literals,
  • arithmetic operators,
  • priority and binding,
  • post- and pre-incrementation and decrementation,
  • operators of type op=,
  • char type and ASCII code,
  • char literals,
  • equivalence of int and char data,
  • comparison operators,
  • conditional execution and if keyword,
  • printf() and scanf() functions.

Flow Control

  • conditional execution: the “else” branch,
  • integer and float types,
  • conversions,
  • typecast and its operators,
  • loops – while, do and for,
  • controlling the loop execution – break and continue,
  • logical and bitwise operators.

Arrays

  • switch: different faces of ‘if’,
  • arrays (vectors),
  • sorting in real life and in a computer memory,
  • initiators,
  • pointers,
  • an address, a reference, a dereference and the sizeof operator,
  • simple pointer and pointer to nothing (NULL),
  • & operator,
  • pointers arithmetic
  • pointers vs. arrays: different forms of the same phenomenon,
  • using strings,
  • basic functions dedicated to string manipulation.

Memory management and structures

  • array indexing,
  • the usage of pointers: perils and disadvantages,
  • void type,
  • arrays of arrays and multidimensional arrays,
  • memory allocation and deallocation: malloc() and free() functions,
  • arrays of pointers vs. multidimensional arrays,
  • structures,
  • declaring, using and initializing structures,
  • pointers to structures and arrays of structures,
  • basics of recursive data collections.

Functions

  • functions,
  • how to declare, define and invoke a function,
  • variables’ scope, local variables and function parameters,
  • pointers, arrays and structures as function parameters,
  • function result and return statement,
  • void as a parameter, pointer and result,
  • parameterizing the main function,
  • external function and the extern declarator,
  • header files and their role.

Files and streams

  • files vs. streams,
  • header files needed for stream operations,
  • FILE structure,
  • opening and closing a stream, open modes, errno variable,
  • reading and writing to/from a stream,
  • predefined streams: stdin, stdout and stderr,
  • stream manipulation: fgetc(), fputc(), fgets() and fputs() functions,
  • raw input/output: fread() and fwrite() functions.

Preprocessor and complex declarations

  • preprocessor,
  • #include: how to make use of a header file,
  • #define: simple and parameterized macros,
  • #undef directive,
  • predefined preprocessor symbols,
  • macrooperators: # and ##,
  • conditional compilation: #if and #ifdef directives,
  • avoiding multiple compilations of the same header files,
  • scopes of declarations, storage classes,
  • user –defined types,
  • pointers to functions,
  • analyzing and creating complex declarations

Contatti



    I corsi e le certificazioni informatiche più richiesti

    Cisco CCNA

    Vai ai corsi

    Microsoft Azure

    Vai ai corsi

    VMware VCP-DCV

    Vai ai corsi

    Cisco CyberOps

    Vai ai corsi

    Check Point CCSA

    Vai ai corsi

    Palo Alto PCNSA

    Vai ai corsi

    Ethical Hacker CEH

    Vai ai corsi

    Cisco CCNP

    Vai ai corsi