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
StatusActive
Course ID40002969

Programme of Study: Undergradute Studies - School of Informatics (2015-today)

Registered students: 37
OrientationAttendance TypeSemesterYearECTS
Information SystemsElected Compulsory Directional745
Digital MediaElective Courses745
Communication, Networks And Systems ArchitectureElective Courses745
Information And Communication Technologies In EducationElective Courses745
General Common DirectionElective Courses745

Class Information
Academic Year2015 – 2016
Class PeriodWinter
Faculty Instructors
Weekly Hours4
Class ID
600004917
Type of the Course
  • Scientific Area
  • Skills Development
Course Category
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
The students who will attend the course are expected to • learn how to develop concurrent programs • be able to verify the correctness of concurrent programs • develop algorithms for problems encountered in distributed systems, based on fundamental correctness criteria • familiarize themselves with the programming of software security mechanisms • familiarize themselves with the problems of software application security
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
Lectures521.7
Reading Assigment953.2
Exams30.1
Total1505
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
13-06-2016