CODE 101120 ACADEMIC YEAR 2020/2021 CREDITS 9 cfu anno 1 MARITIME SCIENCE AND TECHNOLOGY 10948 (L-28) - GENOVA SCIENTIFIC DISCIPLINARY SECTOR ING-INF/05 TEACHING LOCATION GENOVA SEMESTER Annual TEACHING MATERIALS AULAWEB OVERVIEW The course introduces the student to modern information and communication systems for the processing and management of the information. The course is divided in two parts. The first part focuses on providing the fundamental notions of computer architectures, operating systems, and computer networks. The second part provides the computer programming bases, with emphasis to scientific reasoning and computational thinking. AIMS AND CONTENT LEARNING OUTCOMES The course aims at introducing the student in the field of modern electronic methods for the management of information, related communications and basic methods of calculation.The course follows two distinct strands; the first concerns the study of the architecture of computing systems, the representation of information within them, the organization and operation of networks and of the Internet;the second teaches on the fundamentals of programming. AIMS AND LEARNING OUTCOMES The course is divided in two parts. The first part of the course describes the computer hardware architecture and the computer operating system. This part offers a solid background to the students. In this first part, the students will acquire the fundamental knowledge of computer hardware architecture; computer operating system; computer network architectures and protocols. The second part of the course provides the computer programming bases, with emphasis to scientific reasoning and computational thinking. In the second part of the course students will acquire the ability to face problems of increasing complexity autonomously. Students will acquire the computational thinking and programming principles; the knowledge of the fundamental concepts of imperative programming; the principles of designing, implementing, and validating a small sequential program based on the informal specifications provided by the user; the ability to produce correct and comprehensible code; the ability to understand, use, debug, and modify computer code. PREREQUISITES none. TEACHING METHODS The course will consist of Classroom lessons; Guided laboratories; Homework; Given the contents and the structure of the course, attending classes and laboratories is strongly encouraged and suggested. SYLLABUS/CONTENT Introduction to the course First Part (Computer Architecture, Operating Systems, Computer Networks) Computer Architecture Digital Logic (Circuits and Components) Data Representation Register Transfer and Microoperation Basic Computer Organization and Design Computer and Programming Central Process Unit and Pipeline Input output and memory Operating Systems Operating-System Structures Processes, Threads, Synchronization CPU Scheduling Memory (main, virtual, mass) File System and IO Computer Networks Network Architecture Circuit Switching vs Packet Switching The OSI Reference Model the Physical Layer the Data Link Layer the Network Layer the Transport Layer the Application Layer Second Part (Computer Programming) Computational thinking and programming Programming environments and formal languages Imperative programming: variables and instructions; assignment; input / output; if-then-else; loops; types; arrays; strings; functions; struct; dynamically allocating memory; recursion Simple algorithms on sequential data: ordering and search Computational Complexity Introduction to problem analysis and solution design, with examples RECOMMENDED READING/BIBLIOGRAPHY The following books will be used as reference M. Morris Mano – Computer System Architecture; A. Silberschatz, P. B. Galvin, G. Gagne – Operating System Concepts; A. Tanenbaum, Computer Networks; Stephen G. Kochan - Programming in C B. W. Kernighan, D. M. Ritchie – The C Programming Language. TEACHERS AND EXAM BOARD LUCA ONETO Ricevimento: The meetings must be scheduled by email with the teacher. Exam Board LUCA ONETO (President) LUCA VERDERAME DAVIDE ANGUITA (President Substitute) LESSONS LESSONS START Lectures will start in accordance with the academic calendar. Class schedule The timetable for this course is available here: Portale EasyAcademy EXAMS EXAM DESCRIPTION Written test (with the possibility of split it in a mid-term plus final-term exams) and an oral exam. ASSESSMENT METHODS The final evaluation will take into account: class attendance; the knowledge of the course contents tested with the written exam; the problem-solving skills tested with the homework, written and oral exams; the communication skills tested during the oral exam.