CONCURRENCY AND SECURITY IN SOFTWARE

Course Information
TitleΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΤΑΥΤΟΧΡΟΝΙΣΜΟΥ ΚΑΙ ΑΣΦΑΛΕΙΑ ΛΟΓΙΣΜΙΚΟΥ / CONCURRENCY AND SECURITY IN SOFTWARE
CodeNIS-07-04
FacultySciences
SchoolInformatics
Cycle / Level1st / Undergraduate
Teaching PeriodWinter
CoordinatorPanagiotis Katsaros
CommonNo
StatusInactive
Course ID40002969

Programme of Study: PPS-Tmīma Plīroforikīs (2019-sīmera)

Registered students: 50
OrientationAttendance TypeSemesterYearECTS
GENIKĪ KATEUTHYNSĪYPOCΗREŌTIKO KATA EPILOGĪ745

Class Information
Academic Year2020 – 2021
Class PeriodWinter
Faculty Instructors
Weekly Hours4
Class ID
600176730
Course Type 2021
Specialization / Direction
Course Type 2016-2020
  • Scientific Area
Course Type 2011-2015
Specific Foundation / Core
Mode of Delivery
  • Face to face
Digital Course Content
Erasmus
The course is also offered to exchange programme students.
Language of Instruction
  • Greek (Instruction, Examination)
Prerequisites
General Prerequisites
The course is self-contained. However, it is essential for the student to have programming experience in a high-level language.
Learning Outcomes
Cognitive: The main aim of the course is to understand the challenges of software design with concurrency and communication between multiple processes, of the problems and the security mechanisms to address them. Skills: Students are expected to be able to develop concurrent programs, to verify their correctness, and formulate algorithms for distributed systems based on fundamental correctness criteria.
General Competences
  • Apply knowledge in practice
  • Adapt to new situations
  • Make decisions
  • Work autonomously
  • Be critical and self-critical
  • Advance free, creative and causative thinking
Course Content (Syllabus)
Part A - Concurrent Programming: Concurrency in programming languages (atomic statements, interleaving, correctness), The Critical Section problem, Verification of concurrent programs, Advanced algorithms for the Critical Section problem, Semaphores, Monitors, Channels, Spaces, Distributed algorithms, Global properties, Consensus, Real-Time Systems Part B - Software Security: Security mechanisms, Security providers, Access Control Lists, Message Digests, Cryptography, Digital signatures, Digital certificates, Java security architecture, Software application security
Keywords
Concurrency, Distributed algorithms, Real-Time Systems, Security mechanisms, Software application security
Educational Material Types
  • Notes
  • Slide presentations
  • Book
Use of Information and Communication Technologies
Use of ICT
  • Use of ICT in Course Teaching
  • Use of ICT in Communication with Students
Description
The course material is offered in Internet through the (moodle) software e-learning platform, which is also used for communicating with the students. The lectures take place by audiovisual teaching aids (electronic slides).
Course Organization
ActivitiesWorkloadECTSIndividualTeamworkErasmus
Lectures52
Reading Assigment95
Exams3
Total150
Student Assessment
Description
The students are evaluated based on their performance in a mandatory written assignment (30 %) and their performance in the final written exam (70 %) and their study is successful if the weighted average is a promotable grade (5). The evaluation criteria, the written assignment and the results for the students' performance will be announced in the (moodle) software e-learning platform.
Student Assessment methods
  • Written Exam with Short Answer Questions (Formative, Summative)
  • Written Assignment (Formative, Summative)
  • Written Exam with Problem Solving (Formative, Summative)
Bibliography
Course Bibliography (Eudoxus)
1. M. Ben-Ari, "Αρχές Προγραμματισμού με Ταυτοχρονισμό και Κατανομή Λογισμικού", 2η έκδοση/2015, Εκδόσεις Τζιόλας, ISBN: 978-960-418-591-7 Κωδικός Βιβλίου στον Εύδοξο: 50655947 2. Ι.Κ.Κάβουρας, Ι.Ζ.Μήλης, Γ.Β.Ξυλωμένος, Α.Α.Ρουκουνάκη, "Κατανεμημένα Συστήματα με Java", Συστήματα Υπολογιστών - Τόμος ΙΙΙ, 3η έκδοση/2011, Εκδόσεις Κλειδάριθμος, ISBN: 978-960-461-463-9 Κωδικός Βιβλίου στον Εύδοξο: 12533080
Additional bibliography for study
1. M. Herlihy and N. Shavit, "The art of multiprocessor programming", Morgan Kauffman, 2008 2. G. Taubenfeld, "Synchronization Algorithms and Concurrent Programming", Pearson / Prentice Hall, 2006 3. N.Lynch, "Distributed Algorithms", Morgan Kauffman, 1996 4. S. Oaks,"Java Security", O'Reilly, 1998
Last Update
10-04-2022