30 total credits required
Our cutting-edge Master of Science in Computer Science program features a curriculum that combines application-oriented projects with industry-informed coursework. As a student, you can gain the skills employers want and apply what you learn in real-time while building relevant skills for the evolving business and technology landscape.
Lebanese American University’s online computer science courses are delivered in a flexible, asynchronous format. The program is designed to be completed in two years. A wide range of electives are built into the curriculum so you can customize your studies and pursue courses in artificial intelligence and data science, and secure computing and networks.
This 30-credit program consists of 10 computer science courses that provide an advanced study of topics like software quality assurance, data science, database systems and more. You will take five core courses (15 credits) followed by any five electives (15 credits).
When you graduate, you’ll have the technical expertise to meet the global demand for skilled computer science and data analysis professionals.
Lebanese American University endeavours to run all courses as advertised. In exceptional circumstances, however, the University may withdraw or alter a course.
This course addresses both the fundamentals and the research boundaries of algorithm design and analysis. Covered topics include: complexity of algorithms, divide and conquer techniques, greedy methods, dynamic programming, recursive backtracking, amortized analysis, graph algorithms, polynomial-time problem reduction, NP-completeness, approximation algorithms and a selected advanced topic.
This course covers essential topics in data science including data collection and preprocessing, exploratory data analysis and data visualization. The course also covers supervised and unsupervised machine learning techniques including regression, classification, clustering and dimensionality reduction, as well as model selection and assessment, and resampling techniques.
The course covers the fundamental aspects, functions, and techniques computer networks. Topics include internetworking: Packet-based communications; network routing; TCP/IP networks and addressing; transmission protocols: TCP and UDP; resource management and congestion control; wireless and datacenter networks, software-defined networks, and programmable data-planes; content distribution networks, peer-to-peer networks, video streaming; network security including firewalls and application gateways.
This course covers several advanced topics in databases and modern data-intensive systems. Topics include advanced concurrency control techniques, query processing and optimization strategies for relational database systems, advanced indexing methods, parallel and distributed database systems, NoSQL, database-as-a-service (DB clouds), data on the web, data replication, and topics in database security and privacy.
This course entails an independent development, and documentation of substantial software, or computer-based system, using recent or significant techniques and/or tools.
Artificial Intelligence and Data Science Electives
The course covers computational approaches for modeling uncertainty and solving decision problems. Topics include search techniques, constraint satisfaction problems, game playing (including alpha-beta pruning), propositional logic, predicate logic, knowledge representation and probabilistic reasoning. It also covers selected advanced topics in Artificial Intelligence.
This course presents an introduction to deep learning and its applications. Topics include introduction to neural networks, regularization, convolution neural networks, recurrent neural networks, long short-term memory networks, auto-encoders, transformers, and generative adversarial networks. An applied approach will be used, where students get hands-on exposure to AI techniques through the use of state-of-the-art machine learning software frameworks.
This course provides an overview of popular algorithms in machine learning. Topics include supervised learning, linear and polynomial regression, classification algorithms, gradient descent, unsupervised learning, instance-based learning, neural networks, and genetic algorithms and boosting. The course requires some knowledge of artificial intelligence, and good programming skills. The theoretical aspects of the algorithms will be studied, and assignments will be given to test their applicability.
This course covers word vector representations, embeddings, syntax parsing, vector space modeling, dimensionality reduction, speech tagging, text classification, sentiment analysis, window-based neural networks, recurrent neural networks, long-short-term-memory models, recursive neural networks, convolutional neural networks.
This course covers essential and practical skills necessary to clearly and effectively communicate information from data through graphical means, based on principles from graphic design, visual art, perceptual psychology, and cognitive science. The course introduces the value of data visualization, as well as the principles and techniques of scientific visualization. It also focuses on big data organization and mining for decision support, and on how to best leverage visualization methods. Assignments and projects will involve the use of different tools and resources to manipulate and visualize data with code.
Secure Computing and Networks Electives
This course is an advanced survey of modern topics of theory, foundations, and applications of modern cryptography. One-way functions, pseudo-randomness, encryption, authentication, public-key cryptosystems, and notions of security, are covered. The course also covers zero-knowledge proofs, multiparty cryptographic protocols, and practical applications.
This course focuses on the fundamentals of Blockchain Technology. It provides a conceptual insight into the role of Blockchains as a means for securing distributed systems, how consensus on their blocks is reached, and the new applications that they empower. It includes the technological foundations of blockchain functionalities such as distributed data structures and decision-making models, their operations, and various architectures. The course presents a brief discussion on current Smart Contract (SM) techniques and platforms, and studies their future directions, prospects, challenges, and risks. Students will learn how blockchain systems are constructed, how to interact with them, and how to design and implement secure distributed applications. Students apply the knowledge they gain by implementing a detailed blockchain system that includes transactions, blocks, cryptography, and a consensus mechanism using a popular programming language such as Java or Python.
This course covers methods and tools used for network programming and simulation. Covered topics include operating system support for network protocols, inter-process communication tools (such as pipes, sockets and remote procedure calls), design of client and server sides of network protocols, simulation tools for network design and analysis, in addition to experimental research topics in the area of computer networks.
This course exposes students to the fundamentals of IoT as a paradigm in addition to the foundational problems inherent in this realm. The course will introduce the basic terminology and ecosystem, plus development environments. Topics include IoT hardware and software platforms, data collections and analytics for IoT, security and ethical issues inherent in IoT, and networks programming for IoT. The course explores problem solving for IoT analytics based on machine learning and deep learning using TensorFlow. The course will run as a seminar-style readings, discussions, labs, and presentations by the students.
This course covers theory and practice of network security. Topics include static packet filter, stateful firewall, proxy firewall, IDS, VPN Device, DMZs and screened subnets, networks defence components, internal network security, host hardening, configuration management, audit, human factors, and security policies. The course also covers cryptographic protocols, privacy, anonymity and various case studies.
The course provides a basic knowledge of digital forensic examinations, and shows how evidential findings are applied within criminal and civil cases. Topics include an overview of the tools and techniques used, the types of digital storage media likely to be encountered, and clear explanations of the terminology and software commonly found within cases involving computer evidence. The course also highlights the areas of law most relevant to cases involving digital forensic evidence. It reviews the topics covered in relation to an actual case. This part of the study assesses the documentary evidence paper trail, the forensic examination, findings, and the eventual outcome of the case.
Request More Information
Looking to learn more? Our expert team is ready to answer any questions you may have.
All fields required