The Department of Computer Science at AUB Mediterraneo prepares students for advanced studies and professional careers in the dynamically changing world of computing and information technology. Our program combines the theoretical foundations of computing with the practical knowledge of software development vital to industry, to provide a broad and integrated curriculum. The department offers a Bachelor of Science (BS) degree in computer science, designed to be completed typically in four years. The department has vigorous research programs in graphics and multimedia, networking and security, machine learning and data science, high-performance computing, data mining and information retrieval, and software engineering. Our faculty members are committed to contributing to the advancement of the field of computing through scholarly activities, in which our students play a vital role.
First Year
Third Year
CMPS 201 Introduction to Programming (6 ECTS)
This course introduces students to programming and computational thinking. A high- level programming language is used. Students will learn the principles of imperative and object- oriented programming in addition to basic data types, flow control (repetition and selection constructs), procedures and functions, parameter passing, scoping, recursion, arrays, and classes. Students are briefly introduced to simple algorithms and data structures
This course introduces Excel as a computer tool to plan, create, and use spreadsheets to formulate and solve business problems. It exposes students to a wide coverage of spreadsheet topics from introductory concepts such as problem formulation, writing formulas and functions, charting, grouping, and error prevention to more powerful and advanced features such as pivot tables, and analysis needed in decision-making. In addition, it boosts students’ ability to collect, analyze, and forecast business and financial data to generate valuable insights. The course offers students an opportunity to apply skills in a laboratory environment in which they can experiment using Excel business problems designed for some selected topics. It provides the tools to perform modeling, calculations, analysis of various phenomena encountered in other courses such as finance, operations management, human resources, etc.
CMPS 216 Algorithmic Graph Theory 6 ECTS This course explores algorithmic graph theory by visiting some of its core theorems, key problems, and efficient algorithms and tools.
The main goal is to systematically present essential results for the design of graph algorithms. Mathematical properties of graphs will be used in developing new algorithms and showing that these algorithms work correctly and efficiently. The course assumes no prior knowledge of graphs but requires that students have “mathematical maturity” (e.g., are comfortable with proofs and abstract reasoning). Some of the topics that will be covered include fundamentals of graphs, connectivity, matching, covering, planarity, sparsity, coloring, and network flows. Prerequisites: CMPS 214. Annually.
CMPS 221 Computer Organization and Design 6 ECTS
This course covers the fundamentals of computer architecture with a focus on single- core processor design. Topics include: digital logic design, combinational and sequential logic, hardware for computer arithmetic, floating point arithmetic, assembly programming, instruction set architecture, datapath design, pipelining and pipeline hazards, memory organization, cache design, and virtual memory. Prerequisites: CMPS 211 and a grade of at least C+ in CMPS 202. Annually.
CMPS 224 GPU Computing 6 ECTS
This course covers parallel computing in the context of processors with many computational cores, with particular emphasis on data parallelism and general purpose GPU programming. The course introduces the CUDA programming model as well as the GPU architecture and memory organization. The course then covers mapping algorithms to parallel hardware and common optimizations for parallel code using numerous parallel patterns and applications case studies, such as: vector addition, matrix multiplication, convolution, stencil computation, histogram, reduction, prefix-sum, ordered merge, sorting, sparse matrix computation, graph traversal, and others. The course also covers a selection of advanced parallel programming practices. Prerequisites: CMPS 221. Annually.
CMPS 231 Programming Languages 6 ECTS
This course covers the fundamentals of programming language design and implementation. The course introduces functional programming and examines the language design principles underlying functional, imperative, and object-oriented languages. Type systems are also introduced. The course also covers the initial stages of programming language implementation, including lexing, parsing, and semantic analysis. Prerequisite: a grade of at least C+ in CMPS 202. Annually.
CMPS 232 Compiler Construction 6 ECTS
This course covers the design and implementation of optimizing compilers starting from source code representation down to machine code. Topics include intermediate representations, linkage and storage conventions, intermediate code generation for imperative and object-oriented languages with polymorphism, global dataflow analysis and the iterative dataflow algorithm, local and global optimizations, backend code generation, and register allocation. Prerequisites: CMPS 221 and CMPS 231. Annually.
CMPS 240 Operating Systems 6 ECTS
This course provides an introduction to the fundamentals of operating system function, design, and implementation. It contains a theory component illustrating the concepts and principles that underlie modern operating systems and a practice component to relate theoretical principles with operating system implementation. The course is divided into three major parts. The first part of the course discusses concurrency (processes, threads, scheduling, synchronization, and deadlocks). The second part of the course discusses memory management (memory management strategies and virtual memory management). The third part of the course concerns file systems, including topics such as secondary storage systems and I/O systems. If time permits, the following topics will be briefly examined: Virtualization, security, distributed synchronization, and perhaps other topics. A case study of a contemporary operating system like UNIX accompanies the course. Prerequisite: CMPS 221. Annually.
CMPS 241 Systems and Network Programming 6 ECTS
This course focuses on the programming aspects of networking protocols. Topics include: Designing and building programming applications that use computer networks, fundamental concepts required to build iterative and concurrent client/server networking applications using sockets. Then it moves to explain low level networking programing and other advanced socket topics. The course also presents the emerging peer-to-peer computing along with some tools needed to develop P2P applications. Prerequisite: CMPS 240. Annually.
CMPS 242 Computer Networks 6 ECTS
An introduction to network architectures and protocols, placing emphasis on Internet design principles and methodology. Specific topics include application layer protocols, network programming, transport protocols, circuit switching and packet switching, routing algorithms, multicast, local and wide area networks, error detection and correction, and performance evaluation. Prerequisite: CMPS 221. Annually.
CMPS 243 Computer and Information Security 6 ECTS
This course introduces students to the world of information and computer security. Students will be exposed to various security vulnerabilities of computing and networking systems and learn their fundamental aspects such as cryptography, user authentication, access control principles, trusted computing & multilevel Security, database security, SQL injection attacks, malicious software, worms, malwares, viruses, denial-of-service attacks, intrusion detection and prevention systems, firewalls etc. Also, other topics related to operating system security, web security, wireless security, and Internet security are covered as time permits. The course will examine causes of security breaches and give methods to help prevent them. Prerequisite: a grade of at least C+ in CMPS 202 and senior standing.
CMPS 244 Database System 6 ECTS
This course covers the fundamental concepts of database systems. Topics include data modeling using the Entity-Relationship model and the Relation model; query languages including relational algebra and SQL; File Organization and Indexing; Normalization; database programming; and noSQL databases. The course is offered in blended-format and includes a term project. Prerequisite: a grade of at least C+ in CMPS 201 and junior standing. Annually.
CMPS 245 Information Retrieval and Web Search 6 ECTS
This course introduces graduate-level students to the basics of information retrieval, and the models and algorithms underlying modern search engines. Topics covered include: crawling; indexing; Boolean and vector space retrieval models; probabilistic information retrieval models; language models; top-k query processing; evaluation of information retrieval systems; relevance feedback; link analysis; latent semantic analysis; and information extraction. Prerequisite: Senior standing. Annually.
CMPS 246 Distributed Systems 6 ECTS
A distributed system consists of a set of nodes located at networked computers and communicate only by passing messages. This course provides techniques to abstract, design and implement efficient, scalable, and fault-tolerant distributed systems. Topics include, but not limited to, inter-process communication, distributed synchronization and consensus (e.g., paxos, blockchain), fault-tolerance, distributed file systems (e.g., HDFS), and Hadoop ecosystem. Prerequisite: CMPS 240. Annually.
CMPS 247 Advanced Networking Topics 6 ECTS
This course focuses on the current, advanced, and emerging topics in networking. It aims to make the students familiar with the state of the art in networking topics and enhance their skills in network programming and simulations. Lectures will cover topics that include but not limited to socket programming, multicasting, quality of service, IPv6 based networks, Voice Over IP and Internet telephony, software defined networks, network function virtualization, data centers, wireless and mobile networking architectures and technologies (MANET, LTE, 5G). Due to time limitations, some topics might be covered through student presentations. Prerequisite: CMPS 242. Annually.
CMPS 251 Numerical Computing 6 ECTS
Techniques of numerical analysis: number representations and round-off errors, root finding, approximation of functions, integration, solving initial value problems, Monte-Carlo methods. Implementations and analysis of the algorithms are stressed. Projects using MATLAB or a similar tool are assigned. Prerequisites: a grade of at least C+ in CMPS 201, and MATH 201. Annually.
CMPS 261 Machine Learning 6 ECTS
This course covers Machine Learning theory, algorithms, and applications. Machine Learning is currently at the heart of Artificial Intelligence. It enables computational systems to adaptively improve their performance with experience accumulated from the observed data. This course balances theory and practice and covers the mathematical as well as the heuristic aspects. It also covers the latest trends in Machine Learning such as deep learning. Prerequisites: a grade of at least C+ in CMPS 201, STAT 230, and MATH 218.
CMPS 262 Data Science 6 ECTS
This course introduces foundational elements comprising the data science pipeline. It covers techniques in data acquisition, cleaning, and preparation for machine learning, basic applied machine learning techniques spanning distance based algorithms, rule based algorithms, and black box algorithms, basic statistics for machine learning (descriptive, inferential, and estimation statistics), basic time series analysis and forecasting techniques, data production techniques using knitr and rmarkdown, and machine learning interpretability using SHAP. The course is delivered using both the R and Python programming languages. Prerequisites: a grade of at least C+ in CMPS 201, STAT 230.
CMPS 271 Software Engineering 6 ECTS
This course introduces practical industry-standard software engineering best practices to students that have already written moderate sized software. Students are exposed to full development lifecycle methodologies, choosing the right SDLC, requirements management, software design, design patterns, testing. A group term project provides a holistic hands-on experience building an end-to-end software application using agile principles and emulating a real-world environment often for real clients with real needs. Other topics covered include working in a team, professionalism, project management, and ethics. Prerequisite: CMPS 270. Annually.
CMPS 272 Advanced Software Engineering 6 ECTS
A course on state of the art software engineering for large distributed and concurrent systems. Fundamental principles and concepts for specifying, designing, analyzing, implementing, and testing such systems. Concurrent object oriented paradigms. Design patterns. Use of tools. Documentation using both formal and informal descriptions. Students will develop at least one large software system as part of the course. Prerequisite: CMPS 271. Annually.
CMPS 275 Mobile Application Development 6 ECTS
This course introduces to students the world of mobile applications development from a software engineering perspective. Students will learn the importance of a good design for a mobile application, in addition to being able to write a basic to intermediate mobile application. The course includes many software design patterns and user interface design patterns. Students will learn how to collect, store, and present data in a mobile application, in addition to using the different exciting features of a mobile such as locations, graphics, cameras, and other features. Prerequisite: a grade of at least C+ in CMPS 202. Annually.
CMPS 278 Web Programming and Design 6 ECTS
This course introduces the fundamentals needed to program on the Internet as well as the state of the art technologies used in designing and developing rich multi-tiered web based applications. It presents the basics of client-side/server-side web programming and the skills and tools needed to create dynamic Web-based applications. It provides in-depth coverage of various markup languages and their associated cascading style sheets, several client side and server side scripting languages (such as PHP and JavaScript, Angular, and Nodes) in addition to AJAX-enabled rich Internet applications, client-side technologies, web services, Web Servers, and multi- tiered applications using relational database systems. Prerequisite: a grade of at least C+ in CMPS 202. Annually.
CMPS 280 Digital Media Programming 6 ECTS
The class is an introduction to digital media programming and processing. The course explains the essential technology behind images, animations, sound, and video and illustrates how to write interactive programs that manipulate these media in creative ways. The class assumes basic knowledge in Java or a first course in programming. Prerequisite: a grade of at least C+ in CMPS 201.
CMPS 282 Game Programming 6 ECTS
This course introduces students to game programming using state of the art technologies. The course covers both theoretical backgrounds and implementation details of different components of games. Topics covered will be the physical control of a game character, interactions between objects, inventory, HUD, and AI. Prerequisite: a grade of at least C+ in CMPS 202. Annually
CMPS 285 Computer Graphics 6 ECTS
A course that covers the practice of, and underlying mathematical foundation for, interactive graphics programming. Topics include basic graphics systems, graphics primitives and attributes, windows and viewports, clipping, geometric transformations, color systems, 2D texture mapping, and introduction to 3D graphics. Programming in OpenGL will be used. Prerequisite: a grade of at least C+ in CMPS 202. Annually.
CMPS 290 Internship 2–6 ECTS
Computer Science students are expected to work eight full weeks at a recognized firm, in Cyprus or abroad. Internships promote the student's personal development and professional preparation and enable them to develop competencies expected of professionals working in business, government or the broader community. Prerequisite: Senior standing.
CMPS 296 Computer Science Tutorial 2–6 ECTS
Prerequisite: Senior standing.
CMPS 297 Special Topics in Computer Science 2–6 ECTS
A course on selected topics which change according to the interests of instructor and/or students. Topics are chosen from state-of-the-art innovations in software and computer information systems. Prerequisite: Consent of instructor. Annually.
CMPS 299 Capstone Project 6 ECTS
A course to enhance students’ skills with practical experience giving them the opportunity to integrate knowledge accumulated in different courses. In this course, students must deliver a software product which passes through the design, analysis, implementation, testing, and evaluation stages. Prerequisites: senior standing.
PROGRAM OF STUDY FOR A BACHELOR OF SCIENCE IN COMPUTER SCIENCE | |||
MAJOR REQUIREMENTS | |||
COURSE | or | Course Name | ECT S |
CMPS 201 | Introduction to Programming | 6 | |
CMPS 202 | Intermediate Programming with Data Structures | 6 | |
CMPS 211 | Discrete Structures | 6 | |
CMPS 214 | Algorithms and Data Structures | 6 | |
CMPS 215 | Theory of Computation | 6 | |
CMPS 221 | Computer Organization and Design | 6 | |
CMPS 231 | Programming Languages | 6 | |
CMPS 240 | Operating Systems | 6 | |
CMPS 242 | Computer Networks | 6 | |
CMPS 244 | Database Systems | 6 | |
CMPS 261 | Machine learning | 6 | |
CMPS 270 | Software Construction | 6 | |
CMPS 271 | Software Engineering | 6 | |
CMPS 290 | Internship | 6 | |
CS ELECT. 1 | 6 | ||
CS ELECT. 2 | 6 | ||
CS ELECT. 3 | 6 | ||
CS ELECT. 4 | 6 | ||
CS ELECT. 5 | 6 | ||
CS ELECT. 6 | 6 | ||
Total Credits in CS: | 120 | ||
REQUIRED MATH/STAT COURSES | |||
Math 102 | Calculus II | 6 | |
Math 201 | Calculus III | 6 | |
Math 218 | Linear Algebra & Diff. Eq. | 6 | |
STAT 230 | Prob. & Statistics | 6 | |
Total Credits: | 24 | ||
REQUIRED TECHNICAL ELECTIVE COURSES: | |||
TECH ELECT 1 | 6 | ||
Total Credits: | 6 | ||
GENERAL EDUCATION COURSES | |||
Arabic Communication Skills | 6 | ||
English Communication Skills | 6 | ||
English Communication Skills | 6 | ||
Citizen Science | 6 | ||
Public Health | 6 | ||
Understanding Our Cultures and Histories | 6 | ||
Understanding Our Cultures and Histories | 6 | ||
Understanding Our Cultures and Histories | 6 | ||
Understanding Our Cultures and Histories | 6 | ||
Understanding Our Thinking, Learning and Doing | 6 | ||
Understanding Our Thinking, Learning and Doing | 6 | ||
Understanding Our Values | 6 | ||
Understanding Our Engagement | 6 | ||
Quantitative Reasoning : Math 101 | 6 | ||
Total Credits: | 90 | ||
TOTAL CREDITS NEEDED for GRADUATION | 240 |
Για να αποφοιτήσει με πτυχίο στην επιστήμη των υπολογιστών, ένας φοιτητής πρέπει να συμπληρώσει τις ακόλουθες απαιτήσεις:
Βασικές Απαιτήσεις
Prospective students must submit an undergraduate first-year application with the following documents:
High school transcript for grades 10 and 11 or their equivalent
An entrance exam is required which can be one option from the below types*:
Scholastic Aptitude Test (SAT)
The SAT can be taken several times. Students can benefit from “super scoring". (i.e., taking the maximum score for each section (Math or Evidence-Based Reading and Writing) from all sessions).
The International AS-level exam:
3 AS-Levels with the following subjects:
Mathematics (Math or Math - Further), and two non-language subjects
Cypriot Lyceum B Class standardized exams
Two subjects, one in Math (Basic or Advanced), and another non-language subject
Note: The online application link will be posted soon.
Visa for American University of Beirut – Mediterraneo
Required documents for the issue of visa or entry permit that need to be submitted to the Civil Registry and Migration Department of Cyprus
After arrival to Cyprus, the below need to be submitted to the Civil Registry and Migration Department within ten days of entry:
Documents not in Greek or English require a certified translation as well into one of the two languages to accompany them. Official documents issued by Russia and Serbia do not require legalisation or ratification, but official documents from any other country will require legalisation by apostille – if the country of issuance is not party to the Apostille Convention, the documents should bear diplomatic ratification. Please find herein more information on ratification of accompanying documents.
Application deadlines and the corresponding latest SAT sessions considered for each admission type are as follows:
Fall 2023
Admissions Type | Application Deadline | Latest SAT session considered* |
Decision Notification Date |
---|---|---|---|
Early Admissions to Fall 2023-24 | May 31, 2023 | May 2023 | by end of June 2023 |
Regular Admissions to Fall 2023-24 | June 30, 2023 | June 2023 | by end of July 2023 |
Fall 2024
Admissions Type | Application Deadline | Latest SAT session considered* |
Decision Notification Date |
---|---|---|---|
Early Admissions to Fall 2024-25 | October 31, 2023 | October 2023 | by end of December 2023 |
Regular Admissions to Fall 2024-25 | December 20, 2023 | December 2023 | by end of March 2024 |
* Note: SAT registration deadlines are approximately 1-2 month(s) before the SAT test session date. To know more about the SAT exam and its registration, please refer to: www.collegeboard.org
Admission is competitive and based on the results of entrance exam scores provided and the high school transcript as follows:
In terms of standardized high school averages, students are compared to their class average and to the average of applicants from the same school.
There are no specific cut-off scores. The higher the student's score, the better the chances of being admitted.
Students who are accepted for early admission automatically receive a merit scholarship award! Check the scholarships section for more details.
The following requirements for early admissions must be present all at once for early admission to be considered. If any is missing, the application will be changed to regular admission.
Early Admission Requirements:
Applying to |
Majors |
SAT
(super score)
Evidence-Based Reading and Writing + Math |
International AS-level exam
(3 subjects)
Math or Math Further &
2 non-language subject
|
Cypriot Lyceum B Class standardized exams
(2 subjects)
Math (Basic or Advanced) &
1 non-language subject
|
---|---|---|---|---|
Arts
|
1130 |
ABB score
with an A score in Mathematics
(Math or Math - Further)
|
17-18 grade on each subject |
|
Business |
Business Administration in Management |
1180 |
AAB score
with an A score in Mathematics
(Math or Math - Further)
|
18-20 grade on each subject |
Sciences |
1200 |
AAB score
with an A score in Mathematics
(Math or Math - Further)
|
18-20 grade on each subject |
Table1: Entrance exam minimum scores
* Important Notes on the entrance exam types:
Once accepted, please note that admission is conditional on the following and students may not register unless all conditions are met.
As for grade 12 records, they do not affect admission (since usually students apply at the beginning of grade 12) nevertheless once the student is admitted, he/she will be required to present evidence of having met the following conditions (in general, no later than 1 month prior to the start of the term):
English Language Requirement
Undergraduate applicants must demonstrate English Language Proficiency by submitting satisfactory and valid scores from one of several tests. A score is considered satisfactory if it meets or exceeds the minimum requirement (see below) set by the American University of Beirut - Mediterraneo.
Demonstrating English Language Proficiency
Test | Minimum Score | Validity |
---|---|---|
SAT (Evidence-Based Reading and Writing) | 530 | 2 years |
TOEFL iBT | 69 | 2 years |
IELTS (Academic) | 6.0 | 2 years |
All undergraduate applicants are requested to meet the English language requirement as soon as possible after receiving their admissions decision from AUB Mediterraneo.
Faculty of Arts and Sciences | € 345 |
Maroun Semaan Faculty of Engineering and Architecture | € 400 |
Suliman S. Olayan School of Business | € 385 |
General deposit (Refundable) paid only once € 200
Contact Person: Mustapha El-Habbal
Phone: +35726813333
Email: mediterraneo_info@aub.edu.lb