Faculty of Sciences

(To become Faculty of Arts and Science starting September 2019)

Bachelor of Science in Information Technology

Computing Accreditation Commission
96 credits
For students entering the program at the Sophomore level
(holders of a recognized Baccalaureate or Freshman diploma - equivalent to 30 credits)


General Education
MAT202Algebra I
3 credits    |    Pre-requisite: MAT110
The course aims at providing the necessary tools and the mathematical maturity for engineers, for the design and analysis of abstract mathematical models. Subjects covered: logic and proofs, propositional calculus; sets and mappings; relations and ordered sets; an introduction to algebraic structures, groups, rings and fields; counting, finite and transfinite cardinals; matrix algebra, complex numbers and polynomials.
Arts and Humanities
3 credits
Behavioral and Social Sciences
3 credits
MAT213Calculus III
3 credits
The objective of this first analysis course is to give students of scientific fields the required foundations for understanding higher courses in mathematics, computer science, physics, economics, finance, etc. The subjects covered are the following: review of the functions of a real variable, simple integral and integration methods; suites and numerical series; functions of several variables, continuity, partial derivative, differential, the chain rule, Taylor expansion of 2 variables; introduction to double integrals, integration methods, change of variables, Jacobean, polar coordinates; and linear differential equations of the first order.
Civic Engagement
2 credits
English Communication
3 credits
CHM212General Chemistry
3 credits
The purpose of this course is to present a general outline on chemistry. Through this course chemistry is introduced in its various aspects: the structure of the atom, the various models, and the properties of the elements in the periodic table; various chemical bonds, the Lewis structure, VSEPR rules; thermochemistry, thermodynamics and chemical equilibrium; kinetic chemistry, reactions rate orders, the Arrhenius law; solutions chemistry, acids and bases and various acid­base equilibrium; complexation, liquid solid equilibrium and solubility product; and redox titration and electrochemical cells.
PHY210General Physics
3 credits
The objective of this course is the introduction of various laws, principles and physical mechanisms, whose understanding is essential to students pursuing studies in various branches of science. This course consists of several independent parts. The first one deals with dynamics, the different types of motion, Newton's laws, and conservation of energy. The second part deals with hydrostatics and fluid dynamics. The third part deals with thermodynamics, calorimeters, the first principle and the basic transformations, the ideal gas, and thermodynamic cycles. The fourth part concerns the analysis of simple electrical circuits using Kirchhoff laws and the movement of a particle in an electromagnetic field. In the fifth part we talk about relativity, the theory of photons, and the photoelectric effect. Upon completion of this course the students will have acquired sufficient knowledge of several basic principles in physics and be familiar with these various topics.
History of Lebanon
3 credits
Religious Sciences
3 credits
Science and Health
3 credits
1 credits
Common Core
STA320Applied Probability and Statistics
3 credits    |    Pre-requisite: MAT213 Or MAH213 And (MAT202 Or MAH202)
This course covers the following topics: probabilities, independence; random variables; expectation; two­dimensional random vectors, marginal, and conditional laws; probability distribution (Bernoulli, binomial, geometric, Poisson process, uniform distribution, gamma, distribution and normal distribution); multivariate random variables; the weak law of large numbers, and central theorem limits; statistics and sampling distribution; reliability; and applications.
CSC420Computer Networks
3 credits    |    Pre-requisite: CSC214 And CSC270 Or INF214
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 will focus 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 occupation, computer arithmetic, instruction sets and the design, control, and structure of CPUs.
CSC320Database Systems
3 credits    |    Pre-requisite: (CSC214 And CSC270) Or (INF214 Or INF219)
This course presents the principles of databases and familiarizes the students with the design and use of relational databases. It covers DBMSs, architecture and functions, entity­relationship and relational data models, relational database design, theory of normalization and the SQL language. This course includes laboratory work under ACCESS DBMS.
CSC271GUI Programming
1 credits    |    Pre-requisite: (CSC214 And CSC270) Or (INF214 Or INF219)
Students will learn about the OpenGL library. Different applications will be done in the lab and as homework using OpenGL with the C++ programming language. Students will also learn how to write a clean code as well as about the history of GUI. They will learn how to do animation and transformation. By the end of the semester a small game will be produced by the students.
CSC360Internet Technology
3 credits    |    Pre-requisite: INF215 Or (CSC215 And CSC272) Or INF229 Or CSC229 Or CSC312 Or INF312
This course focuses on the broad range of technologies used to build Internet and Web­based applications. We emphasize the development of client­side applications using HTML5, CSS3, JavaScript, XML and DTD.
CSC438Internship Report
1 credits    |    Pre-requisite: CSC360 Or INF360 Or CSC343
In the beginning of the semester, students need to find an internship. They have to get the approval of the department and the instructor of the course. They must also describe briefly the type of work they are going to do during their internship. The internship will be a minimum of a 150­hour work experience. Instructors need to meet with students at least once every four weeks. During this progress meeting, students need to show the instructors what they did during the four week period and what they are planning to do in the coming four weeks. By the end of the semester, students will have a 10 to 15 minutes presentation. During this presentation instructors from other sections may be present.
CHM270Laboratory of General Chemistry
1 credits    |    Pre-requisite: CHM212 Or CHE212 Or CHM210 Or CHE210
The general chemistry laboratory aims to develop different skills for the practical application of theoretical knowledge of general chemistry. Techniques to be learned: preparation and dilution of solutions, experimental verification of the Nernst equation, realization of different types of acid­base and redox titration by volumetric, calorimetric, pH­metric or potentiometric monitoring, and the study of solubility and precipitation reactions and characterization of ions present in a given matrix. The goal of the lab course is to ensure that students are capable of understanding the chemical concepts and to carry out experiments safely and carefully in the laboratory, to obtain data accurately and to manipulate the data correctly.
CSC314Object Oriented Programming
3 credits    |    Pre-requisite: (CSC214 And CSC270) Or INF214
The main objective of this course is to introduce the basic concepts of object oriented programming, while using the pure object oriented language of Java. UML will be presented succinctly in order to understand the approach of the modelling by objects. Some useful static diagrams are also presented, mainly object and class diagrams. A complete project illustrating the different approaches of this course will be presented as a model for future projects.
CSC214Programming I
3 credits
This course enable students to acquire a practical method to solve problems using the C++ programming language. It looks at methods for problem analysis, structural and detailed conception of solutions, base concepts of pseudo code and flow­charts, and the coding and verification of programs. Subjects include: introduction to C++ language, basic concepts of the language, types, expressions, control structures (selection, repetition), one and two dimensional arrays, strings, functions, prototypes, and text files. The course is completed by lab workshops.
CSC270Programming Laboratory I
1 credits    |    Pre-requisite: CSC214
The course enables students to acquire a practical method to solve problems using the C++ programming language. It includes: applications of the C++ language, basic concepts of the language, types, expressions, control structures (selection, repetition), one and two dimensional arrays, strings, functions, prototypes, and text files. This course is done entirely in the lab, and emphasizes the practical approach.
CSC368Project Management
2 credits    |    Pre-requisite: CSC314 Or INF314
This course describes the key principles of successfully managing a project from the planning stage to the end, showing the students how to define the different steps and measure and track their progress. During this course, the students will learn concrete and efficient methods to systematically improve the planning and realization of each step of this software development process.
CSC372Advanced Programming Lab
1 credits
In this lab students will apply their knowledge in VB. They will apply the concept of event­driven programming and the windows environment. The classes begin with simple forms (Windows) and end with ADO.Net Objects which connect Databases to the VB.Net application, graphics programming.
CSC312Advanced VB Programming
3 credits    |    Pre-requisite: (CSC214 And CSC270) Or (INF214 Or INF219)
This course introduces the concept of event­driven programming and the windows environment. The classes begin with simple forms (Windows) and end with ADO.Net Objects which connect Databases to the VB.Net application, graphics programming. The course also covers Text and Binary file access and the Winsock control for networking.
CSC428Database Administration
3 credits    |    Pre-requisite: CSC320 Or INF320
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.
CSC426Database Applications Development
3 credits
The aim of this course is to enable students to become familiar with the development of complex database applications. In this course the students will learn to manipulate in a complex manner the data contained in an Oracle database using the PL/SQL procedural language. In addition to the basic skills in PL/SQL programming, the course will cover the most important concepts of the PL/SQL programming language such as: cursors, stored procedures and functions, triggers, exception handling, and transactions.
CSC300Hardware Technology
3 credits    |    Pre-requisite: CSC212 Or INF212
The fast development of technology in the last few years has considerably reduced the lifespan of the material and computer software. This course examines how computers work on the level of the hardware. The purpose is to arrive at an answer to this question by bringing together the elements which play a significant role in the material structure of computers.
CSC417Human Computer Interaction
3 credits    |    Pre-requisite: CSC360 Or INF360
This course will teach students 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 show the future user interface designer the tools, techniques, and ideas for interface design; to introduce the students to the literature of human­computer interaction; to stress the importance of good user interface design; and finally to be able to think differently, imaginatively and creatively.
CSC460Information System Security
3 credits
This course provides an overview of the problems and solution elements related to security of information systems and networks. It covers network management topics such as definition of network management, network management protocol SNMP, MIB, SMI and RMON as well as network security topics such as security attacks and services, cryptography, network security applications and system security. We treat both aspects of security governance, risk management, evaluation, operational management of security and also technologies that achieve security services.
MGT220Principles of Management
3 credits
An introductory course explaining the definition of management as a set of activities, including: planning and decision-making, organizing, leading, and controlling, directed at an organization’s resources, including the human, financial, physical, and informational, with the aim of achieving organizational goals in an efficient and effective manner.
MKT220Principles of Marketing
3 credits
This course is designed to help the students learn about and apply the basic concepts and practices of modern marketing as they are used in a variety of settings. It is intended for business students who wish to become the decision-makers of tomorrow at the middle or upper levels of management since it gives students a comprehensive and innovative managerial and practical introduction to marketing.
CSC430Systems and Networks Administrator
3 credits    |    Pre-requisite: INF319 Or CSC319 Or CSC212 Or INF212
The goal of this course is to prepare the students for the task of administrator by introducing them to the management of a UNIX environment. After an introduction to the problems bound to the multi­user and multi­task nature of the UNIX system, we introduce the most useful UNIX commands and the administrator's main tasks: user management, the device drivers, services management, network management, control of scripts on a shell, compression, and backup. The students are then trained on the complete installation of a Linux system.
CSC319Technology and Networks Infrastructure
3 credits    |    Pre-requisite: INF204 Or CSC204
This course aims to introduce the basics of computer networks. Students will study infrastructures, features and network topologies, transfer techniques, switching, encoding, transmission and routing, the reference model, the protocols of different layers, including deepening the study on the TCP / IP architecture used in the Internet.
CSC416Graph Theory and Operations Research
3 credits    |    Pre-requisite: (MAH310 Or MAT310) And (CSC211 Or INF211)
The aim of this course is to formulate a wide variety of real­life problems and to solve them 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, and 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.
CSC343Mobile Programming
3 credits
Today’s applications are increasingly mobile. Computers are no longer confined to desktops and laptops but instead live in our pockets and hands. This course teaches students the general structure of a mobile application on different mobile platforms. Students will also learn how to build mobile applications for Android and Windows Phones, and how to test and deploy them.
CSC421Operating Systems
3 credits    |    Pre-requisite: INF314 Or CSC314
The course covers the fundamental concepts of operating systems, emphasizing single­machine systems. These concepts include processes, threads, synchronization, scheduling, memory management, file and I/O management, and user program execution. Popular operating systems (e.g., UNIX, LINUX, and Windows) are used to illustrate implementation of these concepts.
CSC352Theory of Programming Languages
3 credits    |    Pre-requisite: CSC211 Or INF211 And (INF215 Or CSC215 Or INF229 Or CSC229 Or CSC312 Or INF312)
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 students to write programs that illustrate the relationship between a source program and its execution behavior.
CSC436Advanced Programming Project
2 credits    |    Pre-requisite: CSC360 Or INF360 Or CSC343
In the beginning of the semester, students need to set up with their instructors a title and a detailed description of their projects. The instructors of all the sections of the courses will meet within the first three weeks of the semester. During this meeting they will accept, reject, or modify the proposed project. If the project was rejected they need to propose to the student another one. After this meeting, the proposal of every project will be signed by the student as well as the instructor. Instructors need to meet with students at least once every two weeks. During this progress meeting, students need to show the instructors what they did during the two week period and what they are planning to do in the coming two weeks. By the end of the semester, students will have a 10 to 15 minutes presentation. During this presentation instructors from other sections may be present.


This program is accredited by the Computing Accreditation Commission of ABET


The mission of the department of computer science 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 work professionally as a member of a software team to address real work problems as well as demonstrating strong communication skills. Graduates are prepared to work in a broad range of situations involving tasks from theoretical work to software development.
2. Graduates will provide full solution for software problems from system design to solution development. They will be committed to long-life learning.
3. Graduates will have the ability to function and communicate effectively as ethically and socially responsible computer science professionals.

Program Outcomes

a. An ability to apply knowledge of computing and mathematics appropriate to the program’s student outcomes and the discipline.
b. An ability to analyse a problem, and identify and define the computing requirements appropriate to its solution.
c. An ability to design, implements, and evaluates a computer-based system, process, component, or program to meet desired needs.
d. An ability to function effectively on teams to accomplish a common goal.
e. An understanding of professional, ethical, legal, security and social issues and responsibilities.
f. An ability to communicate effectively with a range of audiences.
g. An ability to analyse the local and global impact of computing on individuals, organizations, and society.
h. Recognition of the need for and an ability to engage in continuing professional development.
i. An ability to use current techniques, skills, and tools necessary for computing practice.
j. An ability to apply mathematical foundations, algorithmic principles, and Computer Science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the trade-offs involved in design choices.
k. An ability to apply design and development principles in the construction of software systems of varying complexity.
Holy Spirit University of Kaslik
Tel.: (+961) 9 600 000
Fax : (+961) 9 600 100
© Copyright USEK 2024
Subscribe to our newsletter