24
Systems programming MEEC /MEAer – 2020/2021 Online Version!

Systems programming - ULisboa

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systems programming - ULisboa

Systems programming

MEEC /MEAer – 2020/2021

Online Version!

Page 2: Systems programming - ULisboa

Offering● MEEC (Electrical Engineering)

– 97 students

● MEAer (Aerospace Engineering)– 34 students

● MEFT (Physics Engineering)– 2 students

Page 3: Systems programming - ULisboa

Objectives● Present concepts of systems programming● Exercise direct interaction with the OS● Increase knowledge on the organization and

systems interface● Explore tools and functionality for good SW

development practices

Page 4: Systems programming - ULisboa

Classes● Theoretical

– Presentation of course material– Resolution of some problems (with programming)

● Laboratories– Resolution of programming problems

Page 5: Systems programming - ULisboa

Theoretical classes● Theoretical

– Monday 12:30.. 14:00 –● https://videoconf-colibri.zoom.us/meeting/85729332982

– Wednesday 11:00 – 12:30 – EA1● https://videoconf-colibri.zoom.us/meeting/83676480362

● ZOOM till the end of the Semester

Page 6: Systems programming - ULisboa

Theoretical classes● Classes will be recorded and made avilable

to all.● Access to recording

– Office 365 activation– Access to TEAMS

Page 7: Systems programming - ULisboa

Laboratory Classes● Exercise theoretical concepts

– Use of systems and libraries– Implementation of simple systems

● Implementation of the project– Staring in the middle of the semester

● Based in C and python

Page 8: Systems programming - ULisboa

Laboratory Classes● Tuesday – 9:30 .. 11:30● Tuesday – 11:30 .. 13:30● Wednesday – 14:00 – 16:00● Friday – 10:00 – 12:00● Friday – 12:00 – 14:00● ZOOM till the end of the semester

– Links to be defined

● Enrollment in FENIX– During first week of classes

Page 9: Systems programming - ULisboa

Laboratory Classes● Assignment defined the previous week● Laboratory work does not fit into 2 hours

– Requires study of fundamental concepts– Requires understanding the problem– Requires work at home

● Before or after laboratory

● Teacher will probably host and record a live resolution of the laboratories– Twitch

Page 10: Systems programming - ULisboa

Teaching Staff● João Nuno Silva

[email protected]

● André Mateus– [email protected]

● Bruno Ribeiro– [email protected]

Page 11: Systems programming - ULisboa

Communication● Microsoft TEAMS

– Direct chat (private content)– Video call

● Programação de Sistemas’ TEAM– Multiple specific channels– Repository of

● Class recordings● Announcements● Reading material● slides

Page 12: Systems programming - ULisboa

Communication● Microsoft TEAMS

– https://fenix.tecnico.ulisboa.pt/disciplinas/PSis64511132646/2020-2021/2-semestre/teams

● Please install application– Mobile or desktop– To receive notifications– To ease communication with everybody

● Please abuse TEAMS

Page 13: Systems programming - ULisboa

Evaluation● Project

– 50% of final grade– Minimum grade – 10– Last week

● presentation and discussion of projects

● Exam– 50% of final grade– Minimum grade - 9

Page 14: Systems programming - ULisboa

Project● Programming assignment

– Complex system– Using presented technologies and techniques

● To be developed during the semester– In groups of two students– To be submitted on the last week of classes

● Assigned in the middle of the semester

Page 15: Systems programming - ULisboa

Project● Default Assignment defined by teaching staff● Students can proposed topic

– From Thesis (for instance)

● Technologies– C / Python– Communication (sockets or high level MQ)– Synchronization– Testing

Page 16: Systems programming - ULisboa

Academic honesty● In PSIS plagiarism includes:

– Use of ideas, code or solutions from other students, person or source, without proper credit acknowledgement

● Students can discuss their problems with other colleagues, but should mention that in the submitted work. This discussion will not lower the grade

● BUT:– Students should not copy code from or provide solutions to

other colleagues

Page 17: Systems programming - ULisboa

Academic honesty● Academic dishonesty also included copying in test or

exams● Exams are solved without any external

help(communication of printed material)

● Academic dishonesty is considered fraud.● The immediate consequence is the automatic fail in

the evaluation where a copy of fraud was detected

Page 18: Systems programming - ULisboa

Student profile● Course

– MEEC– MEAer– MEFT– MMA

● Previous knowledge– Programming language

● C

– Operating Systems (user level)– Networking sockets (not required)

Page 19: Systems programming - ULisboa

Bibliography● Operating Systems: Principles and Practice

– Michael Dahlin, Thomas Anderson

● Modern Operating Systems; A.S. Tanenbaum; Prentice-Hall– Theoretical classes

● Advanced Programming in the UNIX Environment ; W. Richard Stevens, Stephen A. Rago; Addison-Wesley– Used in laboratory and project

● Other– Papers, book chapters– Provided in the FENIX

Page 20: Systems programming - ULisboa

System● A system is a set of interacting or

interdependent components forming an integrated whole.

● Delineated by its spatial and temporal boundaries,

● Surrounded and influenced by its environment● Described by its structure and purpose● Expressed in its functioning.

Page 21: Systems programming - ULisboa

System Programming● Understanding of a System

– e.g. Operating System

● Use of a System– e.g. Operating System

● Development/implementation of a System– project

Page 22: Systems programming - ULisboa

Systems programming● Fundamental in the area of computer networks

– And Distributed Systems / Internet

● Presents the interface and connection between:– Hardware (CPU/ memory/ peripherals)– Applications

● Relevant in other areas– Telecommunication– Control

Page 23: Systems programming - ULisboa

Program● Systems● Introduction to Software engineering

– Requirements

● SYSML● Architectures and patterns● Operating System Architectures● Operating System programming

– Process management– Threads– Synchronization

● Communication– Shared memory– Inter-process communication– Data Interoperability

● Performance evaluation● Event based programming● Interoperability mechanism● Software testing

● C review● Processes and shared

memory● Threads and

Synchronization● Communcation● Performance evaluation● SW development tools● Software testing

Page 24: Systems programming - ULisboa

Next on PSIS● System

– A Unified Formalism for Complex Systems Architecture – Ch 1

● Systems’ requirements– IEEE Guide for Developing System Requirements

Specifications – IEEE 1233– IEEE Recommended Practice for Software

Requirements Specifications – IEEE 830