Faculty of Arts and Sciences

Academic Programs

Bachelor of Science in Information Technology (Open for Admission)

English
Computing Accreditation Commission
126 credits
For students entering the program at the Freshman level
(Please click here for more info on the Freshman program)
96 credits
For students entering the program at the Sophomore level
(holders of a recognized Baccalaureate or Freshman diploma - equivalent to 30 credits)

Courses

Core Courses
CSC420Computer Networks
3 credits    |    Pre-requisite: CSC212
This course covers the architecture and protocols of modern computer networks. It presents the networking protocol models: OSI and TCP/IP by discussing the different layers, their functions, roles, and services.
CSC212Computer Organization and Assembly Language
3 credits
The course is designed to introduce Computer Science and Information Technology students to the basics of computer architecture and low-level programming. i.e. assembly code and hardware manipulation.
The course focuses on the Intel x86 Assembly language, number representations, logic circuits, Boolean algebra and logic simplification, addressing modes, Input/Output devices, system buses, memory systems, memory systems, memory occupation, computer arithmetic, instruction sets and the design, control, and structure of CPUs.
CSC441Cybersecurity Fundamentals
3 credits    |    Pre-requisite: CSC420
This course introduces the fundamentals of cybersecurity, including the security concepts, principles, technologies, and practices that protect networks, systems, and data from cyber threats. Students will learn about different types of cyber-attacks, security policies and standards, risk assessment, and security controls. The course will also cover the legal and ethical issues related to cybersecurity.
CSC320 And STA220Data Analysis and Visualization
3 credits
This course introduces data analysis and its importance in business decision-making. Students will learn about the different types of data sources and how to acquire and prepare data for analysis. Basic data analysis techniques and visualization methods will be covered using popular tools and software. Additionally, students will learn about business intelligence (BI) and how it can improve decision-making using dashboards and other technologies.
CSC428Database Administration
3 credits    |    Pre-requisite: CSC320
In this course, students will learn about the following subjects: tasks of the database administrator; identifying the various components of the Oracle architecture; managing Oracle instance; creating a database; using a data dictionary and dynamic performance views; maintaining the control file; maintaining redo log files; managing table spaces and data files; storage structure and relationships; managing undo data; managing tables; managing indexes; maintaining data integrity; managing password security and resources; managing users; managing privileges; managing roles; backup; and about recovery, environment and applications.
CSC320Database Management Systems
3 credits    |    Pre-requisite: (CSC214 Or CSC210) And CSC211
This course is designed to provide students with a comprehensive understanding of the concepts and techniques used in database systems. Topics covered in the course include Introduction to database systems and the relational data model, Entity-relationship (ER) modeling and database design, SQL programming and query optimization, normalization, denormalization, partitioning, Database indexing and transaction management, non-relational database systems (e.g., document-oriented, key-value, graph databases). The course includes lab workshops where students will apply these concepts in practice.
CSC443E-Commerce and Web Analytics
3 credits    |    Pre-requisite: CSC331 And CSC375
This course provides students with an in-depth understanding of the principles and practices of e-commerce and web analytics. It explores the dynamic field of electronic commerce, focusing on the technological and business aspects of conducting online transactions. Students will gain knowledge and skills necessary to design, develop, and manage e-commerce websites and leverage web analytics for data-driven decision making.
CSC440Information Systems Architecture
3 credits    |    Pre-requisite: CSC428 And CSC429
This course covers the fundamentals of Information Systems Architecture and how it relates to the design, development, and maintenance of enterprise information systems. Topics include Business Process Analysis and Modeling, Enterprise Architecture Frameworks (TOGAF, Zachman, and FEAF), Information Systems Security (risk assessment, access control, and policy), Data Management and Analytics (database, data warehousing, modeling, BI), Cloud Computing and Virtualization, and Emerging Technologies (IoT, blockchain, AI).
CSC439Internship
1 credits    |    Pre-requisite: CSC429
CSC210Introduction to Programming
3 credits
This course introduces the fundamental concepts of programming, including basic programming constructs and programming paradigms, and builds on those concepts to cover more advanced topics in programming. Students will learn how to write simple programs using a high-level programming language such as Java. Topics cover the basics of programming, including basic programming constructs (e.g., variables, data types, operators, expressions), control flow structures (e.g., conditional statements, loops), functions and modular programming, basic data structures (e.g., arrays), recursion, and data files (e.g., text files).
Additionally, students will learn about programming style and comments, including best practices for writing readable, maintainable code and using comments effectively to document their code. The course includes lab workshops where students will practice programming and apply these concepts in practice.
CSC369IT Project Management
3 credits    |    Pre-requisite: CSC266
This course provides an overview of project management in the context of information technology. It covers the fundamentals of project management, including project initiation, planning, execution, monitoring and control, and closure. The course also covers project management frameworks, tools, and techniques used in IT projects, as well as leadership and communication skills required for successful project management. The course also includes case studies and hands-on experience with project management software.
CSC266IT Workshop I
1 credits    |    Pre-requisite: CSC210
IT Workshop I is a course focused on applied data structures. The course will explore fundamental data structures and algorithms used in software applications. Students will learn how to analyze and design data structures for practical programming problems. The course will cover various topics including arrays, linked lists, stacks, queues, trees, heaps, and graphs. Students will also be exposed to algorithms such as sorting, searching, and graph traversal. In addition to lectures and demonstrations, students will engage in hands-on activities and programming exercises to reinforce concepts covered in class.
CSC366IT Workshop II
1 credits
This course is a workshop-based course that focuses on the implementation and deployment of IoT (Internet of Things) solutions. The course covers the architecture of IoT systems and networks, protocols used in IoT, IoT data management and analytics, and security in IoT. Students will have hands-on experience in using IoT devices, programming IoT solutions, and implementing and managing IoT networks.
CSC429Microcomputer Support
3 credits    |    Pre-requisite: CSC420
This course covers the essentials of microcomputer support, with a focus on practical skills needed to manage computer hardware, software, networking, and security. Students will learn about different types of hardware and networking devices, as well as operating systems such as Windows and Linux. The course also includes an introduction to virtualization and cloud computing, security concepts, and operational procedures.
CSC314Object Oriented Programming
3 credits    |    Pre-requisite: CSC214 Or CSC210
This course introduces students to the principles of object-oriented programming and design. It is designed for students pursuing a Computer Science degree and assumes prior programming experience. The course provides an in-depth understanding of object-oriented programming and design principles using UML, with a focus on the use of a programming language such as Java. Students will learn how to design and implement classes and objects, how to use inheritance and polymorphism to build complex software systems. Topics covered in the course include introduction to OOP concepts (classes, objects, inheritance, encapsulation, polymorphism), object-oriented design principles using UML diagrams, exception handling and error checking. The course includes lab workshops where students will OOP concepts in practice.
CSC421Operating Systems
3 credits    |    Pre-requisite: CSC212 And CSC315
Operating Systems is a fundamental course in the Bachelor of Science in Computer Science curriculum. The course is designed to provide students with a deep understanding of the fundamental concepts, principles, and algorithms underlying modern operating systems, with a particular focus on multiuser and multitasking operating systems like Unix/Linux. The course covers the principles of operating systems design and implementation, with an emphasis on the management of resources such as memory, processes, and input/output. Topics include mutual exclusion and synchronization problems, process scheduling algorithms, memory management, file systems, and device management. The course includes a practical component in which students will learn to use the Unix/Linux operating system commands language and multi-tasking programming techniques featuring process management, anonymous and named pipes, signals, shared memory, semaphores, and message queues.
CSC400Professional Ethics
3 credits    |    Pre-requisite: CSC265 Or CSC266
This course introduces Computer Science students to the ethical issues and challenges that arise in the practice of computer science. The course provides an overview of the ethical principles that underlie responsible computing practice and explores case studies that highlight the practical application of these principles. Topics covered in the course include: the ethical challenges of emerging technologies, ethical frameworks and principles, privacy and data protection, intellectual property and copyright, cybersecurity and cybercrime, social responsibility and sustainability, professional codes of conduct and ethical decision-making. The course will involve case studies
CSC442Systems Administration
3 credits    |    Pre-requisite: CSC440
Systems Administration is a comprehensive course that explores the principles and practices of managing and maintaining computer systems and networks. This course is designed to provide students with the knowledge and skills necessary to effectively administer computer systems within an organizational context. Throughout the course, students will delve into various aspects of systems administration, including system installation, configuration, monitoring, security, user management, backup and recovery, and troubleshooting techniques. Emphasis will be placed on understanding the underlying concepts and principles, as well as handson practice with industry-standard tools and technologies.
CSC331Web Programming
3 credits    |    Pre-requisite: CSC210
This course introduces web programming, focusing on client-side web app development. Students will learn how to create dynamic and interactive web pages using HTML, CSS, JavaScript, XML, and DTD. The course will also cover the basics of server-side web programming, including an introduction to web servers, databases, and server-side scripting languages. The course includes lab workshops where students will practice Web programming and apply these concepts in practice.
Electives - Cloud Computing Track
CSC451Cloud Computing Infrastructure and Architecture
3 credits    |    Pre-requisite: CSC440
This course provides an overview of cloud computing infrastructure and architecture, covering public, private, and hybrid clouds. The course covers cloud service models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). It also covers cloud deployment models, such as private cloud, public cloud, and hybrid cloud. The course includes topics such as virtualization, storage, and network infrastructure, as well as cloud resource management and orchestration.
CSC453Cloud Deployment and Management
3 credits    |    Pre-requisite: CSC451
Course Description: This course covers the process of deploying and migrating applications to the cloud, managing and monitoring cloud resources, including cloud cost management, service-level agreements, and cloud performance monitoring. The course covers cloud deployment models and best practices for cloud migration, as well as cloud resource management tools and techniques.
CSC454Cloud Industry Application
3 credits    |    Pre-requisite: CSC453
This course focuses on the use of cloud computing platforms to develop and deploy industry-specific applications. The course covers various cloud computing platforms such as Amazon Web Services (AWS), Microsoft Azure, or others, and their best practices for building, deploying, and scaling applications. Students will learn about cloud architecture patterns, cloud-based data storage, cloud-based messaging systems, and serverless computing.
CSC452Cloud Security
3 credits    |    Pre-requisite: CSC451
This course covers the principles and practices of cloud security, including identity and access management, network security, data security, and compliance in the cloud. The course covers security issues related to cloud computing, such as shared responsibility, cloud provider security, and risk management. The course also covers security controls and best practices for securing cloud environments.
Electives - Cybersecurity Track
CSC462Computer and Network Security
3 credits    |    Pre-requisite: CSC420 And CSC441
This course aims to provide students with a comprehensive understanding of computer and network security, including the principles, concepts, and techniques used to secure computer systems and networks from various attacks. The course will cover a range of topics related to computer and network security, including cryptography, access control, authentication, firewalls, intrusion detection and prevention, malware, and security protocols. The course will start with an introduction to the basic concepts of computer security, such as confidentiality, integrity, and availability, and then delve deeper into the technical aspects of security, including various encryption techniques and algorithms. Students will learn how to design, implement and evaluate secure computer systems and networks. They will also learn about security risks and vulnerabilities in various network architectures, and explore the different methods to mitigate them. The course will also cover the various types of attacks that can be used to exploit security vulnerabilities in computer systems and networks, and the different tools and techniques used by attackers. Students will learn how to use security tools and techniques to detect, prevent, and respond to attacks.
CSC465Digital Forensics and Incident Response
3 credits    |    Pre-requisite: CSC441
This course covers the fundamentals of digital forensics and incident response. Students will learn how to collect and analyze digital evidence from various sources, including computers, mobile devices, and networks. They will also learn about the legal and ethical considerations in digital forensics, as well as the incident response process
CSC466Ethical Hacking and Penetration Testing
3 credits    |    Pre-requisite: CSC462
This course introduces students to the concepts and principles of ethical hacking and penetration testing. Students will learn the tools and techniques used in identifying and exploiting vulnerabilities in computer systems and networks. They will also learn how to assess and mitigate the risks associated with these vulnerabilities and how to create effective security measures.
CSC464IoT security
3 credits    |    Pre-requisite: CSC441
This course focuses on the security issues related to the Internet of Things (IoT). It covers the principles of secure IoT design, development, and deployment. Students will learn about the various security risks and vulnerabilities of IoT devices, protocols, and applications. They will also learn how to develop secure IoT applications and how to implement security measures to protect IoT systems from various attacks.
Electives - Software Development Track
CSC456Advanced Web Programming
3 credits    |    Pre-requisite: CSC331
This course builds upon the foundation of the Web Programming course, which focused on client-side web application development. Advanced Web Programming provides students with the knowledge and skills necessary to develop dynamic, database-driven web applications using server-side scripting languages and frameworks.
CSC457Mobile App Development
3 credits    |    Pre-requisite: CSC331 And CSC320
This course is designed to provide students with an understanding of the principles, concepts, and techniques for developing mobile applications for different platforms. It covers the basics of cross-platform mobile applications development with a focus on the React Native framework. The goal is to help students develop best practices for creating cross-platform apps.
CSC455Software Engineering
3 credits    |    Pre-requisite: CSC314 And CSC320
This course presents modern software engineering techniques and examines the software life cycle, including software specification, design, implementation, testing and maintenance. The course evaluates past and current trends in software development practices including agile software development methods such as Extreme Programming (XP), Agile Modeling (AM), Scrum, ASD, DSDM, Crystal, Feature Driven Development (FDD), Incremental Funding Method (IFM), DevOps, and Site Reliability Engineering. Other non-agile approaches that are widely used in industry such as the Rational Unified Process (RUP) and the Open Process Framework (OPF) will also be covered. Process improvement initiatives such as the Capability Maturity Model (CMM) and Personal Software Process (PSP) will be discussed.
CSC458User Interface Design and Development - UI/UX
3 credits    |    Pre-requisite: CSC331 And CSC455
The course will provide hands-on experience with UI/UX design and development tools and techniques and will culminate in a final project where students will work on a real-world UI/UX design problem.
Free Track
Any courses from other tracks
3 credits
Any pre-approved 300 or 400-level course
3 credits
CSC416Graph Theory and Operations Research
3 credits    |    Pre-requisite: MAT310
The aim of this course is to formulate a wide variety of real-life problems and to solve those using methods based on graph theory and linear methods. Concerning graph theory, we will particularly study the following problems: shortest path, minimum spanning tree, maximal flow network, finding a critical path in a project network. As for linear methods, linear programming problems will be solved graphically and by using the Simplex algorithm and duality. We will also see how to solve integer programming problems using the branch-and-bound method
CSC417Human Computer Interaction
3 credits    |    Pre-requisite: CSC360 Or CSC331
This course will teach you about the importance of the human-computer interface in software design and development. The objectives of the course are:
• To facilitate communication between human factors engineers and computer scientists on user interface development projects.
• To provide the future user interface designer with concepts and strategies for making design decisions.
• To expose the future user interface designer to tools, techniques, and ideas for interface design.
• To introduce the student to the literature of human-computer interaction.
• To stress the importance of good user interface design.
CSC459Human-Robot Interaction: Design Principles and Methods
3 credits
CSC352Theory of Programming Languages
3 credits    |    Pre-requisite: CSC211
A programming language is a programmer’s principal interface with the computer. More than just knowing how to program in a single language, programmers need to understand the different styles of programming promoted by different languages. In their professional life, they will be working with many different languages and styles and will encounter many different languages over the course of their careers.
Understanding the variety of programming languages and the design tradeoffs between the different programming paradigms makes it much easier to master new languages quickly. Understanding the pragmatic aspects of programming languages also requires a basic knowledge of programming language translation and runtime features such as storage allocation. In this course we explore the major issues in both design and implementation of modern programming languages and provide a basic introduction to the underlying theoretical models on which these languages are based. The emphasis is on fundamental concepts. Several languages are highlighted in sufficient detail to enable the programmers to write programs that illustrate the relationship between a source program and its execution behavior.
General Education Requirements
Artistic Discovery
3 credits
Career Management
Covered by the Program - CSC400
Digital Literacy and Information Technology
Covered by the Program - CSC courses
Effective Thinking and Quantitative Reasoning
Covered by the Program - Math courses
English Communication
3 credits
Humanities, Ethics, and Civilizations
3 credits
Intercultural and Religious Fluency
3 credits
Lebanese History and Legacy
3 credits
Psychology and Social Behavior
3 credits
Science and Health
3 credits
Covered by the Program - Science courses
Math and Sciences
CSC211Discrete Methods
3 credits    |    Pre-requisite: MAT202
This course introduces the discrete methods used in computer science and applied mathematics. It covers topics such as set theory, relations, and functions, logic and proofs, combinatorics and discrete probability, graph theory, number theory, the growth of functions, and complexity of algorithms.
MAT216General Mathematics
3 credits
This course aims to provide the basic mathematical tools necessary for modeling, analysis, and use of quantitative data in the field of life sciences in general. Topics covered: Matrix algebra; Numerical sequences; integral calculus; Real functions (logarithms, exponential and Trigonometric functions); Taylor expansion; Functions of several variables, Double integrals, Multivariate functions optimization with and without constraints, Lagrange multipliers; Differential equations; Sequences and Series.
STA220Probability and Applied Statistics
3 credits    |    Pre-requisite: MAT213 Or MAT215 Or MAT216 Or MAT218 Or NUT210 Or NTR210
This course prepares students for the practical use of probability and statistics in the biomedical field (agronomy, chemistry, biochemistry, nutrition, medicine, etc.). Topics covered are: elements of descriptive statistics, population, statistical unit, frequency distribution characteristic of central tendency and dispersion; concepts of probability and combinatorics, conditional probability and Bayes' formula, applications, discrete and continuous random variables, expectation and moments, weak law of large numbers, empirical frequencies and probabilities customary laws (Binomial, Multinomial, Poisson, Normal) and asymptotic behavior, the law of large numbers, sampling and estimation, introduction to the use of hypothesis tests, and the Chi­2 contingency table.
Science Elective
3 credits
Science Elective Lab
1 credits
Capstone
CSC491Final Year Project
2 credits
The final year project is a culminating experience in the BS in Information Technology program. This course provides students with the opportunity to apply the skills, knowledge, and techniques they have acquired throughout their program to a practical project. The course emphasizes the development of skills in project management, problem-solving, critical thinking, communication, and teamwork. The project may be a software application, a research project, or a practical solution to an organizational problem. Students work independently or in small teams under the guidance of a faculty advisor.

Accreditation

This program is accredited by the Computing Accreditation Commission of ABET, https://www.abet.org.

Mission

The mission of the Department of Computer Science and Information Technology is to graduate undergraduate and graduate students that excel in the fields of computing, networking, and database design, creation and management. This is fulfilled through comprehensive educational programs and research and development.

Program Educational Objectives

1. Graduates will obtain positions as information technology professionals in various industries and government agencies involved in the creation, maintenance and use of computers, computer networks and computer information systems.
2. Information technology professionals must be able to work effectively in the planning, implementation, configuration, and maintenance of an organization’s computing infrastructure. They will be committed for long-life and self-learning.
3. Graduates will be aware of cultural, social, legal, and ethical issues inherent in the discipline of computing. 

Student Learning Outcomes

1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
3. Communicate effectively in a variety of professional contexts.
4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
6. Identify and analyze user needs and to take them into account in the selection, creation, integration, evaluation, and administration of computing-based systems [IT].
Holy Spirit University of Kaslik
Tel.: (+961) 9 600 000
Fax : (+961) 9 600 100
© Copyright USEK 2025
Subscribe to our newsletter
Find USEK