mail unicampaniaunicampania webcerca

    Mauro IACONO

    Insegnamento di FUNDAMENTALS OF PROGRAMMING

    Corso di laurea in DATA ANALYTICS

    SSD: ING-INF/05

    CFU: 6,00

    ORE PER UNITÀ DIDATTICA: 56,00

    Periodo di Erogazione: Secondo Semestre

    Italiano

    Lingua di insegnamento

    INGLESE

    English

    Teaching language

    English

    Contents

    INTRODUCTION
    Information and its representation. Binary coding and other codings. Code conversions. Natural binary arithmetics. Boolean algebra: operators, normal forms, Shannon theorem, synthesis of boolean functions.

    ALGORITHMS
    Definition and properties. Execution and executor. Variables, elementary operations. Analysis and synthesis of an algorithm. Representations and flowcharts. Structured programming primitives. Subroutines. Classification of programming languages: paradigms (procedural, functional, declarative, object oriented) and generations. Interpreters and compilers. Abstractions and virtual machines.

    REMARKABLE ALGORITHMS AND DATA STRUCTURES
    Search algorithms: linear search, search in ordered arrays, binary dichotomic search. Sorting algorithms: ordered insertion, fusion, bubble sort, quick sort. Introduction to computational complexity. Introduction to data structures: lists, trees, graphs.

    FUNDAMENTALS OF SOFTWARE DEVELOPMENT PROCESSES
    Introduction to software engineering and software development cycles. Software reuse and libraries.

    INTRODUCTION TO PYTHON
    Introduction to Python. Running Python code: interactive mode and programs. Python built-in types. Python indentation rules. Variables: assignment and expressions. Conditional if statement. While and for loops. String fundamentals. Complex types: lists, tuples and dictionaries. Functions. List comprehensions and recursion. Python standard library. Files. Python for data science.

    Textbook and course materials

    Allen Downey, "Think Python, how to think like a computer scientist", 2nd edition, Green Tea Press (freely downloadable from the web)

    Course objectives

    The goal of the course is to introduce students to computer programming, fundamentals of algorithmics and simple software design. Students will apply theory by means of Python. Students will be able to design and implement simple Python programs and to use Python in interactive, scripting and programming modes.

    Prerequisites

    None

    Teaching methods

    Lectures and laboratories

    Evaluation methods

    Written and oral exams

    Other information

    None

     

    facebook logoinstagram buttonyoutube logotype