The CIS department offers a minor in Computer Science for RHU students. It is designed for students who want to include basic proficiency in computer science to enhance or supplement their major program.
This minor is offered to all RHU students except CCE and Business Information Technology Management students. Early in their major, interested RHU students need to fill the appropriate form declaring that they will be minoring in Computer Science while completing their regular major.
• A minimum CGPA of 70 % is required for the six courses to fulfill the minor requirements • Overlapped courses between student major requirements and CS minor requirements are counted to fulfill the CS minor requirements
This minor allows its holders to seek careers in a variety of sectors no matter what a student’s major is. Graduates from this minor can seek jobs related to software engineering, web and mobile development, database/system administration, network engineering/administration, and IT consultancy.
This course presents the fundamentals of structured and modular programming concepts. It covers primitive data types, expressions, control statements, functions, arrays, basic searching/sorting algorithms, and an introduction to pointers.
Prerequisite: None. Equivalent to CCEE 214.
Continuing COSC 214, this course covers the basics of Object-Oriented Programming (OOP) languages and data structures. It covers pointers, classes, encapsulation, constructors/destructors, object instantiation, and templates. The course also details data structures and applications such as stacks, queues, lists, and trees.
Prerequisite: COSC 214. Equivalent to CCEE 216.
This course exposes students to the fundamental concepts for designing, using, and implementing database systems. It covers database concepts, data modeling, relations, normalizations, and data manipulation languages.
Prerequisite: COSC 214. Equivalent to CCEE 315.
This course consolidates algorithm design and programming techniques. It provides an extended study of object-oriented programming properties, data structures, and data abstraction and an introduction to complexity consideration.
Prerequisite: COSC 215.
This course teaches students how to develop and implement web-based programs emphasizing front-end programming. It introduces students to web development, client-side languages, and styles needed to develop adequate and responsive websites. The course covers HTML5, CSS3, JavaScript/jQuery, and responsive design.
Equivalent to CCEE 411.
Prerequisite: COSC 214.
Analysis, design, construction, maintenance, and evolution of large software systems are covered. Students are introduced to the system life cycle, project management techniques, and database systems. Analysis, design, and implementation of software systems are also included.
Prerequisite: CCEE 214. Equivalent to COSC 341.
This course addresses Boolean algebra and logic simplification techniques, data representation, and the design of combinational logic networks for decoders, encoders, multiplexers, and demultiplexers. Design of sequential logic devices, including flip-flops, registers, and counters, as well as analysis of devices used to build logic networks, including programmable logic devices.
Prerequisite: None. Equivalent to CCEE 221.
This course enables students to gain fundamental knowledge of computer networks, appreciate various tradeoffs and choices in networking, learn to design and analyze protocols, and get ready to study advanced topics in the field of networks.
Prerequisite: COSC 214. Equivalent to CCEE 354.
This course covers theoretical principles embodied in automata and grammars. Topics include Deterministic, Non-deterministic, and Epsilon Non-deterministic Finite Automata (DFA, NFA, and e-NFA), DFAs minimization, equivalence of NFAs and DFAs, Moore and Mealy machines, closure properties, regular expressions, regular languages, regular grammar, pumping lemma, context-free languages, context-free grammar, pushdown automata, Turing machines, and other selected topics as time permits.
Prerequisite: COSC 215 and MATH 210
This course continues the web programming course and trains students to become full-stack developers. It allows students to get to know how to develop back-end programs, connect their website or web application to a database, use regular expressions, develop asynchronous client access to server data, work with structured data formats such as JSON, as well as work with a third-party medium like web services.
Prerequisite: COSC 231 and COSC 333. Equivalent to CCEE 514.
This course examines the principles of mobile application design, development, and testing. It covers memory management, user interface design, input methods, data handling, and network techniques. Students are expected to work on a project that produces a professional-quality mobile application. Projects will be deployed in real-world applications.
Prerequisites: COSC 214, Equivalent to CCEE 511
Students learn the concepts of operating systems theory and their implementations. The course covers computer and operating system structures, process and thread management, process and synchronization, deadlocks, security and protection, inter-process communication, memory management, and I/O control systems. A case study of a UNIX operating system will accompany the course.
Prerequisite: COSC 214. Equivalent to CCEE 412.
This course prepares students to act as System and Network Administrators by implementing Active Directory Directory Services ADDS in distributed environments that can include complex network services and domain controllers. The covered materials assist students in efficiently automating the administration of users, groups, and computers.
Prerequisite: COSC 360.
This course introduces students to the basic knowledge representation and learning techniques. The emphasis is understanding the data mining process, applying the corresponding approaches to solving practical problems, and developing intelligent software applications. The course covers several topics about classification, prediction, and clustering.
Prerequisites: COSC 214; MATH 351 or BADM 250. Equivalent to CCEE 564.
A special topic course to be defined based on current trends and departmental special interests. It may incorporate technical seminars, advanced readings, and special projects as required/approved by the department.
Prerequisite: Senior standing.
This course will introduce the students to software testing, its importance, goals, approaches, and major player roles (developers, testers, and users). Students will learn about the software testing life cycle, standards, types of testing (manual vs automated testing), testing methods (black box vs white box), testing levels (functional, unit testing…), and documentation. This course will also cover hands-on experience with automated testing tools.
Prerequisite: COSC 341
This course presents an overview of the software technologies related to game development. It gives the students a conceptual understanding of game design and practical exposure to game creation.
Prerequisite: COSC 214; Senior standing.
Error Analysis, solutions of nonlinear equations using fixed point- Newton-Raphson-Muller’s methods, solution of linear system using Gaussian elimination-iterative methods, interpolation and approximation using Taylor series-Lagrange approximation-Newton polynomials, numerical differentiation and integration, numerical optimization, solutions of ordinary and partial differential equations using Euler’s and Heun’s and Rung-Kutta methods, MATLAB codes Related to the topics mentioned above.
Prerequisite: MATH 311.
This course addresses the design of embedded real-time systems, models of computation, validation techniques, and automatic synthesis. Finite state machines, synchronous languages, data flow networks, Petri nets, software optimization and performance estimation, operating systems and scheduling, system-level simulation, and interface-based design.
Prerequisite: CCEE 221. Equivalent to COSC 356.
If you have a query about a specific major or application, please contact the relevant Administrative Assistant.
Administrative Assistant Tel: +961 5 60 30 90 Ext. 701
E-mail: da_cas@rhu.edu.lb