Academics / Academic programs /
B.S. in Computer Science
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 tradition of the liberal arts education.
Educational Objectives
The purpose of the Bachelor of Science in Computer Science is to:
- Prepare students for the job market, locally and abroad, with business, industry, or government.
- Prepare graduates to become software designers, systems analysts, programmers, and database administrators.
- Enhance the Undergraduate computing education, learning, problem solving, and system design skills.
- Introduce outreach and engagement, by allowing computer science faculty, and students, to contribute to the community at large.
- Enhance the cultural, social, legal, and ethical issues inherent in the discipline of computing.
Learning Outcomes
Graduates in the Bachelor of Science in Computer Science will be able to:
- Develop fundamental problem solving skills and learn programming techniques using modern languages.
- Develop the necessary skills to understand, expand, and verify efficient, and correct, computing algorithms, and to understand the various algorithmic paradigms, complex computational and complexity analysis.
- Gain a simulated understanding of the life cycle for software development including requirements elicitation, specification, prototyping, design, GUIs, implementation, testing and documentation.
- Analyse the requirements, and develop efficient database applications.
- Develop fundamental mathematical skills, in order to solve complex and real-life problems.
- Apply their computational and mathematical knowledge, in order to solve problems.
- Gain a good understanding of distributed computing, client-server computations, network programming, and administration.
- Understand the ethical and social issues related to computing.
- Have an understanding of the current trends in hardware technology, as well as future directions.
- Understand the fundamental principles for human-user interface and design, and develop user interfaces in computing applications.
- Learn to work effectively, and interactively, in teams and with (simulated and real) clients.
- Learn how to effectively present, transmit, and communicate their work, written, as well as, orally, to colleagues and to clients.
- Acquire the skills for continued professional development.
The Program curriculum consists 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 (30 credits)
| Number |
Course |
Cr |
| CSC243 | Introduction to Object Oriented Programming | 3 |
| CSC245 | Objects and Data Abstraction | 3 |
| CSC310 | Algorithms and Data Structures | 3 |
| CSC320 | Computer Organization | 3 |
| CSC323 | Digital Systems Design | 3 |
| CSC326 | Operating Systems | 3 |
| CSC375 | Database Management Systems | 3 |
| CSC430 | Computer Networks | 3 |
| CSC490 | Software Engineering | 3 |
| CSC599 | Capstone Project | 3 |
Computer Science Electives –Choose five courses (15 credits)
| Number |
Course |
Cr |
| CSC440 | Object Oriented Programming | 3 |
| CSC443 | Web Programming | 3 |
| CSC445 | Programming Languages | 3 |
| CSC420 | Computer Architecture | 3 |
| CSC435 | Computer Security | 3 |
| CSC460 | Artificial Intelligence | 3 |
| CSC449 | Parallel Programming | 3 |
| CSC450 | Computer Graphics | 3 |
| CSC475 | Advanced Topics in Databases | 3 |
| CSC498 | Topics in Computer Science (may be repeated) | 3 |
Mathematics (12 credits)
| Number |
Course |
Cr |
| MTH201 | Calculus III | 3 |
| MTH207 | Discrete Structures I | 3 |
| MTH305 | Probability and Statistics | 3 |
| MTH307 | Discrete Structures II | 3 |
Mathematics Electives (3 credits)
| Number |
Course |
Cr |
| MTH301 | Linear Algebra | 3 |
| MTH303 | Numerical Methods | 3 |
| MTH304 | Differential Equations | 3 |
| MTH306 | Non-Linear Dynamics and Chaos | 3 |
| MTH309 | Graph Theory | 3 |
| MTH498 | Topics in Mathematics (may be repeated) | 3 |