Bachelor of Science in Computer Science

Overview

The Bachelor of Science in Computer Science at LAU provides a fundamental understanding of the theoretical principles of software and digital systems within the context of current technology. The program provides students with a strong background in the fundamentals of mathematics and computer science, and is balanced between theoretical and applied courses that prepare students for a professional career in the area of computer science. Furthermore, in addition to developing computer science skills, the program helps the students obtain an understanding of the human and social aspects of computer systems, and how computer science relates to other disciplines.

Mission

The mission of the Computer Science program is to provide students with the ability to integrate the theory and practice of computing in the representation, processing, and use of information while upholding the tradition of a liberal arts education.

Program Objectives

The educational objectives of the Bachelor of Science in Computer Science Program are to:

  1. Prepare graduates for computer science related careers, locally and abroad, with a broad knowledge of the computing field, related principles, tools, and theories;
  2. Develop graduates who are committed to life-long learning, capable of working effectively in teams, and who possess good communication skills; and
  3. Prepare graduates who are aware of cultural, social, legal, and ethical issues inherent in the discipline of computing.

Program Outcomes

At the completion of this program, students shall be able to:

  1. Apply their computational and mathematical knowledge in order to solve computational problems;
  2. Analyze a problem, identify, define, and verify the computing requirements appropriate to its solution;
  3. Design, evaluate, and implement an efficient and a correct algorithm, computer-based system, process, component, or program that meets desired needs;
  4. Work effectively and interactively in teams in order to accomplish a common goal;
  5. Understand the ethical and social issues related to computing.
  6. Effectively present, transmit, and communicate their work, written as well as orally, to colleagues and to clients;
  7. Analyze the local and global impact of the computing field on individuals, organizations, and society;
  8. Understand current technology trends as well as future directions and shall recognize the need and develop the necessary skills for continued professional development;
  9. Use current techniques, skills, and tools necessary for computing practices;
  10. 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 tradeoffs involved in design choices; and
  11. Model, analyze and design computer-based software systems including requirements elicitation, specification, prototyping, design, implementation, trade-offs analysis, testing and documentation.

Admission Requirements

To enter the major, students must meet the general university requirements.

Graduation Requirements

A total of 92 credits are required to graduate, based on:

Major Core Requirements 32 credits
Computer Science Electives 15 credits
Mathematics 12 credits
Mathematics Electives 3 credits
Science Requirements 3 credits
Other Requirements 3 credits
Free Electives 3 credits
Total: 92 credits

Program Requirements

The Program requirements consist of a minimum of 92 credits. The program requires students to complete core requirements that provide a sound mathematical and computer science foundation. In addition, students are required to take elective courses that provide advanced knowledge and skills.

Core Requirements (39 credits):

  • CSC243 / Introduction to Object Oriented Programming (3 cr.)
  • CSC245 / Objects and Data Abstraction (3 cr.)
  • CSC310 / Algorithms and Data Structures (3 cr.)
  • CSC320 / Computer Organization (3 cr.)
  • CSC322 / Computer Organization Lab (1 cr.)
  • CSC326  / Operating Systems (3 cr.)
  • CSC375 / Database Management Systems (3 cr.)
  • CSC430 / Computer Networks (3 cr.)
  • CSC447 / Parallel Programming for Multicore and Cluster Systems (3 cr.)
  • CSC490 / Software Engineering (3 cr.)
  • CSC491 / Professional Experience (1 cr.)
  • CSC599 / Capstone Project (3 cr.)

Computer Science Electives (15 credits): 

  • CSC323 / Digital Systems Design (3 cr.)
  • CSC415 / Introduction to Bioinformatics (3 cr.)
  • CSC420 / Computer Architecture (3 cr.)
  • CSC435 / Computer Security (3 cr.)
  • CSC440 / Advanced Object Oriented Programming (3 cr.)
  • CSC443 / Web Programming (3 cr.)
  • CSC460 / Artificial Intelligence (3 cr.)
  • CSC450 / Computer Graphics (3 cr.)
  • CSC458 / Game Programming (3 cr.)
  • CSC495 / IT Project Management  (3 cr.)
  • CSC498 / Topics in Computer Science (may be repeated)  (3 cr.)

Mathematics (12 credits):

  • MTH201 / Calculus III (3 cr.)
  • MTH207 / Discrete Structures I (3 cr.)
  • MTH305 / Probability and Statistics (3 cr.)
  • MTH307 / Discrete Structures II (3 cr.)

Mathematics Electives (3 credits):

  • MTH301 / Linear Algebra (3 cr.)
  • MTH303 / Numerical Methods (3 cr.)
  • MTH304 / Differential Equations (3 cr.)
  • MTH306 / Non-Linear Dynamics and Chaos (3 cr.)
  • MTH309 / Graph Theory  (3 cr.)
  • MTH498 / Topics in Mathematics (may be repeated) (3 cr.)

Science Requirements (3 credits):

  • BIO200 / Basic Biology (3 cr.)
  • CHM200 / Essentials of Chemistry (3 cr.)

Other Requirements (3 credits):

  • CSC480 / Social and Ethical Issues in Computing (3 cr.)

Sample Study Plan

Year One

Fall: 16 credits Spring: 16 credits
  • CSC243 / Introduction to Object Oriented Programming
  • ENG202 / Sophomore Rhetoric
  • MTH 207 / Discrete Structures I
  • ARA 2—/ 3— Arabic Language / Literature
  • PED2— Physical education
  • Free Elective

 

  • MTH 201 / Calculus III
  • CSC 245 / Objects and Data Abstraction
  • CSC 320 / Computer Organization
  • CSC 322 / Computer Organization Lab
  • ENG 203 / Fundamentals of Oral Communications
  • LAC Arts Elective

Year Two

Fall: 17 credits Spring: 16 credits
  • CSC310  / Algorithms and Data Structures
  • CSC375  / Databases Management Systems
  • CSC326 / Operating Systems
  • MTH305 / Probability and Statistics
  • ETH201 / Moral Reasoning
  • HLT 201 / Basic Health
  • LACC Social Sciences Elective

 

  • CSC490  / Software Engineering
  • CSC447 / Parallel Programming for Multicore & Cluster Systems
  • MTH307 / Discrete Structures II
  • CSC— / Technical Elective
  • Science Elective [1]
  • CSC491 / Professional Experience [2]

 

Year Three

Fall: 15 credits Spring: 15 credits
  • CSC430 / Computer Networks
  • CSC480 / Social & Professional Issues in Computing
  • CSC / Technical Elective
  • CSC / Technical Elective
  • LAC Philosophy, Religion, History Elective
  • CSC599 / Capstone Project
  • CSC— / Technical Elective
  • CSC— / Technical Elective
  • Mathematics Elective
  • LAC Literature / LAC Elective

 

[1] Choose either BIO200 or CHM201

[2] Internship must be completed in the Summer following registration.  It is equivalent to 60 hours of professional experience spread over a Summer Term.