cs@cs.ucy.ac.cy | +357-22-892700

| | | | MyCS Portal |

Undergraduate Courses in English Language

CS425 Internet Technologies

Type: Compulsory

Level: Undergraduate

Semester: Spring

Credit: 7,5 ECTS units

Instructor: Marios Dikaiakos

Language: English

Objectives: Introduction to Internet and the World-Wide Web Technologies. Emphasis in given on programming of Internet Systems and Services.

Content: Topics of Internet and World-Wide Web technologies, with an emphasis on WWW applications and Internet programming. The foundations of WWW applications including hypertext, navigation in hyperspace, hypertext usability, information overload, markup languages and methodologies of WWW application design. System issues related to Internet programming and performance: protocols, servers, WWW interactivity, Internet-based distributed systems.

Prerequisites: CS233, CS324

Bibliography:

1. A. Moller and M. Schwartzbach, An Introduction to XML and Web Technologies, Addison Wesley, 2006.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, homework (weekly assignments) and class participation.

CS434 Logic Programming and Artificial Intelligence

Type: Restricted choice

Level: Undergraduate

Semester: Fall

Credit: 7,5 ECTS units

Instructor: Antonis Kakas

Language: English

Objectives: Familiarization with the basic concepts of Logic Programming and practical exercises in implementing them with the PROLOG language. Development of capabilities of applying Logic Programming to problems of Artificial Intelligence.

Content: Basic principles of Logic Programming and implementation using the language Prolog. Relation of Logic Programming to modern considerations regarding Artificial Intelligence. Solving application problems drawn from the fields of Artificial Intelligence and the Semantic Web, making use of Logic Programming and Constraint Logic Programming.

Prerequisites: CS111

Bibliography:

1. L. Sterling and E. Shapino, The Art of Prolog, 2nd Edition, The MIT Press, 1994.

2. M. Bramer, Logic Programming with Prolog, Springer, 2009.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1 hour weekly).

Assessment: Final exam, midterm exam and homework.

CS445 Digital Image Processing

Type: Restricted Choice

Level: Undergraduate

Semester: Fall

Credit: 7,5 ECTS units

Instructor: Constantinos Pattichis

Language: English

Objectives: Introduction to the basic principles of Digital Image Processing: Digital Image and Video. Analysis and implementation of image and video processing and analysis algorithms and their application in industrial and biomedical systems. Content: Binary Image Representation. Image Histogram and Point Operations. Discrete Fourier Transform. Linear Image Filtering. Non Linear Image Filtering Pipeling. Image Compression. Image Analysis I. Image Analysis II. Digital Video Processing.

Prerequisites: CS132, MAS016

Bibliography:

1. R. C. Gonzalez and R. E. Woods, Digital Image Processing, 2nd Edition, Addison-Wesley, 2002.

Teaching methods: Lectures (3 hours weekly) and Laboratory sessions (1.5 hours weekly).

Assessment: Final exam, midterm exam and homework (laboratory exercises, additional exercises, final project).

CS475 Systems Security

Type: Compulsory

Level: Undergraduate

Semester: Spring

Credit: 7,5 ECTS units

Instructor: Elias Athanasopoulos

Language: English

Objectives: Introduction to systems security aiming for covering a wide range of security concepts. Primarily, the course helps students to become familiar with different fields and to render a global view of modern systems security. The course covers several topics, such as applied cryptography, software vulnerabilities and memory errors, attacks and defenses, mobile security, web security, network security, privacy, and anonymity.

Content: Introduction to applied cryptography (symmetric, asymmetric, and stream ciphers, cryptographic hash functions, cryptographic protocols) and security models (CIA). Software vulnerabilities and memory errors (buffer overflows, integer overflows, use-after-free, dangling pointers). Attacks (code injection, code reuse). Defenses (non-executable pages, stack canaries, code randomization, CFI, SFI, side channels). Mobile security (Android iOS). Web security (cross-site scripting, CSRF, clickjacking, phishing). Network security (botnets, DDoS, spam, security economics). Privacy and anonymity (TOR).

Prerequisites: CS232

Bibliography:

1. Alfred J. Menezes, Paul C. van Oorschot and Scott A. Vanstone. Handbook of Applied Cryptography, CRC Press, ISBN 0849385237. (http://cacr.uwaterloo.ca/hac/)

2. Ross Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems, Second Edition, Wiley, ISBN 0470068523. (http://www.cl.cam.ac.uk/~rja14/book.html)

3. Published papers.

Teaching methods: Lectures (3 hours weekly), Recitation (1 hour weekly) and Laboratory sessions (2 hours weekly).

Assessment: Final exam, midterm exam and homework (including laboratory assignments).