Course Description
Computer Science is a dynamic and ever-evolving field that explores the world of algorithms, programming, data analysis, and the design and development of software and systems. It delves into the core principles of computation, enabling individuals to understand and harness the power of technology to solve complex problems, create innovative solutions, and shape the digital landscape. Computer science is not just about coding; it’s about computational thinking and problem-solving, making it an essential discipline in today’s tech-driven world.
Course Objectives
- Algorithmic Thinking: Develop a deep understanding of algorithms, enabling you to devise efficient solutions to a wide range of problems, from sorting data to solving complex mathematical challenges.
- Programming Proficiency: Acquire expertise in various programming languages and paradigms, allowing you to develop software, mobile apps, and other digital solutions.
- Data Management: Master the art of data handling, storage, and retrieval, and gain expertise in database management, big data analytics, and data visualization.
- Software Engineering: Learn the best practices for designing and building software systems, including software architecture, quality assurance, and project management.
- Cybersecurity: Understand the principles of cybersecurity to protect digital assets, ensuring data privacy and safeguarding against cyber threats.
- Artificial Intelligence and Machine Learning: Explore the world of AI and machine learning, enabling you to create intelligent systems, predictive models, and automated decision-making processes.
- Networking and Distributed Systems: Gain insights into computer networks, network administration, and distributed computing, critical for creating interconnected digital ecosystems.
- Web Development: Master the creation of web applications, websites, and user interfaces, employing modern web technologies and design principles.
- Problem-Solving Skills: Develop strong analytical and critical thinking skills to tackle complex issues and make data-driven decisions.
List of Job Opportunities
A degree in computer science opens the door to a myriad of exciting and well-compensated career opportunities:
- Software Developer/Engineer: Design, code, and test software applications, working in a wide range of industries, from healthcare to finance.
- Data Scientist: Analyze and interpret data to uncover insights, trends, and patterns, helping organizations make informed decisions.
- Cybersecurity Specialist: Protect organizations from cyber threats by securing networks and systems, conducting ethical hacking, and implementing security measures.
- Database Administrator: Manage and optimize databases, ensuring data availability, integrity, and security.
- AI/Machine Learning Engineer: Develop AI models, machine learning algorithms, and intelligent systems for automation and decision-making.
- Web Developer: Create user-friendly websites and web applications, combining creativity and technical skills.
- Network Administrator: Oversee network infrastructure, ensuring data flow and connectivity within organizations.
- Software Architect: Design the high-level structure of software systems, defining how components interact and ensuring scalability and performance.
- IT Project Manager: Lead and coordinate technology projects, from concept to delivery, ensuring they meet objectives, stay on schedule, and stay within budget.
- Tech Consultant: Offer expert advice and solutions to businesses and organizations, guiding them in technology adoption and digital transformation.
- Academic/Researcher: Pursue advanced studies and research in computer science, contributing to the growth and evolution of the field while educating the next generation of computer scientists.
- A degree in computer science is a passport to a dynamic and rewarding career where innovation and creativity meet the ever-expanding world of technology. It offers endless possibilities for those who want to shape the future of the digital age.
Semester Organization
DDL1011 Introduction to Computing (3 Credits)
Competency: Data Literacy
Level: Intro
Pre-requisites: None
Introduction to Computing is a foundational course designed to provide students with a broad understanding of essential computer science concepts and computational thinking. This course serves as an introduction to the fundamental principles that underpin modern computing technologies. It explores the basics of computer hardware and software, programming logic, algorithms, problem-solving techniques, and the societal impact of computing. Through theoretical knowledge and practical exercises, students gain the necessary skills to engage with computational concepts and prepare for more advanced studies in computer science and related fields.
CCL1202- Reading Comprehension (3 Credits)
Competency: Communication and Collaboration
Level: Introduce
Pre-requisites: CCL1001-Introduction to Reading Comprehension
This course assists readers in increasing comprehension and reading rate by developing active reading comprehension strategies to meet varied purposes for reading at the college level.
LRS1101- College Algebra (3 Credits)
Competency: Learning and Research Skill
Level: Introduce
Pre-requisite: None
This course will introduce students to some basic algebraic concepts. It will cover the study of functions, and their graphs, inequalities, and linear, quadratic, piece-wise defined, rational, polynomial, exponential, and logarithmic functions. The students will be prepared for more advanced study in mathematics and will learn some applications of these concepts. For example, they will learn how to apply various problem-solving strategies to find solutions to a selection of real-life problems.
SCA1101- Psychology and Agility (3 Credits)
Competency: Social and Cultural Agility and Sensitivity
Level: Introduce
Pre-requisite: None
Psychological Agility allows leaders to respond rather than react to challenging experiences. This is critical for navigating conflict, maintaining positive interpersonal relationships, and building an effective team and organizational culture.
STS1101- System Concept and Business Environment (3 Credits)
Competency: System Thinking
Level: Introduce
Pre-requisites: None
In this course the students will understand the concept of a system defined as entities in which there is interrelationship between various elements. The business environment is a system because it consists of various elements that are interrelated to one another. This class will help students understand and apply system concepts to the business environment. They will be introduced to system thinking and develop the ability to understand that everything works as a system, to apprehend, analyze the system to apply it to successful business practices.
PLD1101-Personal Development I (0 Credits)
Competency: Capstone Soft Skills
Level: Introduce
Pre-requisites: All the courses scheduled for the Fall and Spring semesters preceding the course PLD1201
Students will explore strategies for success in college, life, and career. Apply psychological, social, and physiological principles of development, learning, motivation, and wellness to support success. Explore personality, interests, and values to increase self-understanding and support informed educational, career, and life decisions. Strengthen academic study strategies such as note-taking, memorizing, and test-taking skills. Apply life management techniques to accomplish goals. Develop a plan for wellness and living a long and healthy life. Practice creative and critical thinking techniques, problem-solving, and decision-making.
DDL1021- Introduction to Programming (3 Credits)
Competency: Digital and Data Literacy
Level: Introduce
Pre-requisite: DDL1011
This course teaches students programming skills and problem-solving techniques using imperative and object-oriented programming. Students learn to design, develop, and test small programs using programming languages and industry-standard techniques.
LRS2224- Applied Discrete Mathematics (3 Credits)
Competency: Learning and Research Skill
Level: Develop
Pre-requisites: DDL1011
This course is designed to introduce and expose students to important discrete structures that appear in pure and applied math and computer science, computer engineering, computer security, and information systems. Topics include probability, counting, linear programming, number-theoretic algorithms, sorting, data compression, counting, graphs and trees, discrete geometry, network flows, and discrete optimization.
CCL 1204 Writing Composition (3 Credits)
Competency: Communication and Collaboration
Level: Introduce
Pre-requisites: CCL1003-Introduction to Writing Composition
This writing course will prepare students for the fundamental knowledge and skills of college-level expository writing and critical thinking. The focus areas include idea presentation and organization, audience, point of view, voice and tone, paragraph and essay coherence, precision, word choice, and technology-mediated evaluation of grammar, mechanics, and originality.
CTI1202- Agility and Innovation (3 Credits)
Competency: Critical Thinking & Innovation
Level: Introduce
Pre-requisites: CTI1101-Problem Solving and Critical Thinking
This course is designed to teach students how to apply, expand and improve the agile innovation management process. They will learn how to create the environment and skills in their business to increase their agility and create high value innovation. These are two of the most important skills to acquire in the business setting. The highly competitive environment in which we operate today requires entrepreneurial agility that will allow companies to adapt their organization and culture very quickly and to remain at the forefront of innovation within their industry.
SCA 1202 Sociology and Agility (3 Credits)
Competency: Social and Cultural Agility and Sensitivity
Level: Introduce
Pre-requisites: None
This course is designed to give the students the tools to understand various worldviews and cultures to be able to successfully navigate in a multicultural environment and to quickly adapt to changes.
INT1201 INTERNSHIP I
Competency: Competencies from level 1 courses
Level: Intro
Pre-requisites: All scheduled level 1 courses
INTERNSHIP I introduces students to the professional business environment. Emphasizes gaining practical experience, developing basic workplace skills, and understanding organizational culture. Ideal for building a foundation in business operations.
DDL2112 Data Structures and Algorithms Analysis (3 Credits)
Competency: Digital and Data Literacy
Level: Intro
Pre-requisites: DDL1011; DDL1021; LRS2113
The Data Structures and Algorithms Analysis course provides an in-depth exploration of fundamental data structures, algorithms, and their analysis. Designed for computer science students, this course delves into the core principles that underpin efficient software design and development. Through a combination of theoretical understanding and practical implementation, students will learn to design, analyze, and optimize data structures and algorithms. Emphasizing problem-solving skills, algorithmic efficiency, and computational complexity, this course equips students with the knowledge necessary to solve real-world computational problems and build high-performance software systems.
LRS2103- Statistics 1 (3 Credits)
Competency: Learning and Research Skill
Pre-requisites: LRS1101- College Algebra, LRS1202-College Calculus
This course is a data-driven study of basic descriptive and inferential statistics. Concepts such as null distributions, hypotheses, test statistics, and p-values are emphasized while applying standard statistical tests, including logistic regression.
DDL2114 Data Communication and Networking (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisite: DDL1011
Data Communication and Networking is a comprehensive course that explores the principles, protocols, technologies, and practices underlying the effective transfer of data between devices and across networks. This course provides a deep understanding of networking fundamentals, enabling students to design, implement, and manage computer networks efficiently. Covering both theoretical concepts and practical applications, this course equips students with the knowledge and skills required to excel in the field of data communication and networking.
LRS2124 Advanced Discrete Mathematics (3 Credits)
Competency: Advanced Mathematical Understanding, Cryptography and Number Theory and Advanced Algorithms Analysis
Level: Develop
Pre-requisite: LRS1212; LRS1101
The Advanced Discrete Mathematics course is an in-depth exploration of mathematical structures and techniques fundamental to computer science and related fields. Building upon the foundational concepts introduced in discrete mathematics, this advanced course delves deeper into topics such as graph theory, combinatorial mathematics, formal languages, automata theory, and algorithm analysis. Students will gain a sophisticated understanding of abstract mathematical structures, enabling them to analyze complex algorithms, design efficient data structures, and solve computational problems with precision and elegance. Through theoretical exploration, problem-solving exercises, and real-world applications, students will develop advanced mathematical reasoning skills essential for computer science research, software development, and algorithmic analysis.
STS2103- Microeconomics (3 Credit)
Competency: System Thinking
Level: Introduce
Pre-requisites: LRS1101-College Algebra, LRS1202-College Calculus, STS1101-System Concept and Business Environment.
Students will study the price system, market structures, and consumer theory in this course. Topics covered include supply and demand, price controls, public policy, the idea of the firm, cost and revenue concepts, forms of competition, elasticity, and efficient resource allocation.
PLD2101-Personal Development I (0 Credits)
Competency: Capstone Soft Skills
Level: Introduce
Pre-requisites: All the courses scheduled for the Fall and Spring semesters preceding the course PLD1201.
Students will explore strategies for success in college, life, and career. Apply psychological, social, and physiological principles of development, learning, motivation, and wellness to support success. Explore personality, interests, and values to increase self-understanding and support informed educational, career, and life decisions. Strengthen academic study strategies such as note-taking, memorizing, and test-taking skills. Apply life management techniques to accomplish goals. Develop a plan for wellness and living a long and healthy life. Practice creative and critical thinking techniques, problem-solving, and decision-making.
TECH 2201 Quantitative Analytical Tools for Decision Making (3 Credits)
Competency: Technology and Tools
Level: Develop
Pre-requisites: DDL2103; LRS2204; FINR2202
This course provides the student with the concepts, methods, and tools for applying logical and quantitative analysis to business decision-making and problem-solving. It familiarizes the student with a wide range of software and other classical and contemporary resources related to decision and problem analysis, including basics of logic and decision-making, principles of optimization, probabilistic distributions, linear programming, simplex, queuing and transportation problems, break-even analysis, inventory management, forecasting, and simulation. In addition, the course highlights the benefits and limits of quantitative analysis in a real-world context.
LES2102- Ethics and Change Management (3 Credits)
Competency: Leadership and Ethics
Level: Introduce
Pre-requisites: LES1201
As we live in a fast-changing world, where innovation has become a key component of business, students need to understand how to integrate ethics so that the boundaries may be clearly stated. As managers, they will need to understand and integrate peoples’ values, create a safe environment where people can share their voices, communicate honestly, and be respectful regarding the received feedback. This course aims to teach them those tools and principles to succeed in managing with integrity.
DDL2212- Software Design (3 Credits)
Competency: Digital and Data Literacy
Level: Introduce
Pre-requisites: DDL1011
This course introduces software design concepts, notations, architectures, and patterns. Students gain practical experience designing and implementing software systems using various approaches and patterns.
DDL2222- Software Development (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisites:
This course covers modern tools and practices for designing and developing large systems in teams. Topics include integrated development environments, build systems, testing, version control, and issue tracking.
DDL2213- Topics on Algebra and Calculus (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisites:
This course covers topics in linear algebra and calculus, including matrices, systems of equations, linear transformations, eigenvalues, vectors, as well as functions, limits, derivatives, and optimization problems.
INT2202 INTERNSHIP II
Competency: Competencies from level 2 courses
Level: Develop
Pre-requisite: All scheduled level 2 courses
INTERNSHIP II Focuses on applying theoretical knowledge to real-world business challenges. Students engage in more complex tasks, enhancing problem-solving abilities and gaining deeper insights into specific business functions.
SAS3101 Programming Languages: Design & Implementation (3 Credits)
Competency: Language Design and Analysis, Lexical and Syntax Analysis, Semantic Analysis and Type Checking, Intermediate Code Generation and Optimization
Level: Develop
Pre-requisite: DDL 1101; DDL2112; LRS2124 and DDL2224
The Programming Languages, Design & Implementation course provides a comprehensive exploration of programming language design principles, compiler construction techniques, and language implementation strategies. This course is designed for computer science students interested in understanding the underlying concepts of programming languages and how they are implemented to create efficient and expressive software systems. Through a blend of theoretical concepts and hands-on programming assignments, students will gain insights into lexical analysis, syntax parsing, semantic analysis, code optimization, and code generation. By the end of the course, students will not only have a deep understanding of various programming paradigms but also the ability to create their own domain-specific languages and compilers.
DDL 3113 Computer Graphics (3 Credits)
Competency: Understanding Graphics Fundamental, Graphics Programming Proficiency, 2D and 3D Graphics Creation, Advanced Rendering Techniques
Level: Develop
Pre-requisite: DDL2112; LRS2124; SAS3102
The Computer Graphics course provides a comprehensive introduction to the principles and techniques of computer-generated imagery. Students will explore the foundations of computer graphics, including 2D and 3D graphics, rendering, modeling, animation, and interactive multimedia applications. Through a blend of theory, hands-on programming assignments, and creative projects, students will learn the algorithms and technologies used in the creation of visually engaging graphics for various applications, including video games, simulations, virtual reality, and multimedia presentations.
DDL3123 Introduction to Cybersecurity (3 Credits)
Competency: Cybersecurity Foundations, Network Security, Vulnerability Assessment and Management
Level: Intro
Pre-requisite: DDL1011; LRS1101; STS1101
The course Introduction to Cybersecurity equips students with essential competencies in the field of cybersecurity, enabling them to understand, identify, and mitigate security threats and vulnerabilities.
Any of a 3000-level course offered in the other majors
PLD3102- Personal Development III (0 Credits)
Competency: Capstone Soft Skills
Level: Mastering
Pre-requisites: PLD2202- Personal Development II + (plus) All the courses scheduled for the Fall and Spring semesters preceding the course PLD3203 + (plus) LES1202, STS1202, CCL1202, SCA1202, CTI1202, CCL1204.
An experiential introduction to the method and process of being a skilled helper in academic peer support programs. Emphasis on communication skills, relationship development, knowledge of higher education, college policies, and resources to promote the educational and psychosocial factors contributing to college and life success.
DDL3211- Artificial Intelligence (3 Credits)
Competency: Digital and Data Literacy
Level: Introduce
Pre-requisite: DDL1011; DDL1021; LRS2113
Artificial Intelligence is a comprehensive and interdisciplinary course that explores the theory, techniques, and applications of artificial intelligence (AI). Designed for students interested in the cutting-edge field of AI, this course provides a deep understanding of the fundamental concepts, algorithms, and ethical considerations associated with artificial intelligence.
DDL3212- Database Management Systems I (3 Credits)
Competency: Digital and Data Literacy
Level: Introduce
Pre-requisite: DDL1011; DDL1021; LRS2113
Database Systems 1 serves as a foundational course that prepares students for more advanced database-related coursework and equips them with skills that are highly sought after in the technology industry. Whether learners plan to become database administrators, data analysts, software engineers, or pursue other tech-related careers, a strong foundation in database systems is a valuable asset.
DDL3213- Ethics of Digital Technology I (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisites: None
This course explores social and ethical issues in computing and information technologies. It covers moral reasoning, ethical theories, and various topics in computer ethics, such as internet regulation, privacy, cybersecurity, and professional codes of ethics. Additionally, it delves into broader subjects like the ethics of big data, algorithms, artificial intelligence, and robot ethics.
DDL3214- Numerical Analysis (3 Credits)
Competency: Entrepreneurial Frameworks
Level: Master
Pre-requisites: ENF2102, SCA1202
In this course, students will learn the sociological study of formal social organizations, such as businesses, and their interrelationship with the environment in which they operate. It will also emphasize the applications of organization theory in topics such as strategy implementation, innovation, organizational structure and culture, change management, and power and influence.
DDL3222 Database Management Systems II (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisites: DDL2112
This course explores concepts, theories, design techniques, and retrieval methods in databases, with a focus on using the industry-standard SQL data language. Topics include physical data organization, database architecture, relational data models, logical database design, normalization, and relational query languages. Students complete a design and implementation project as part of the course.
INT3203 INTERNSHIP III
Competency: Competencies from level 3 courses
Level: Mastering
Pre-requisite: All scheduled level 3 courses
INTERNSHIP III advances students’ professional competencies by involving them in strategic decision-making and project management. This level emphasizes leadership, critical thinking, and the ability to drive business outcomes effectively.
DDL4112 Design and Analysis of Algorithms (3 Credits)
The design and analysis of algorithms is a fundamental area of computer science that deals with the creation, optimization, and assessment of algorithms. Algorithms are sets of instructions and procedures used for solving problems or performing tasks in a systematic and efficient manner. The design and analysis of algorithms are fundamental skills for computer scientists, enabling them to create efficient solutions to complex problems, which is vital in our increasingly digital and data-driven world.
DDL3103- Software Engineering (3 Credits)
Competency: Digital Literacy
Level: Mastering
Pre-requisite: None
This is a software engineering course studying principles, methods, and ethical aspects of software engineering and featuring a large-scale software engineering project.
DDL4134 Operating Systems (3 Credits)
Competency: Digital Literacy
Level: Mastering
Pre-requisite: None
An Operating Systems (OS) course is a fundamental and essential component of computer science and information technology education. It provides students with a deep understanding of the principles, functions, and components of operating systems that manage and coordinate hardware and software resources in a computer system. Operating Systems courses are essential in providing students with the knowledge and skills needed to understand the inner workings of computers and how they manage hardware and software resources. This knowledge is foundational for a successful career in computer science and related fields.
Any of a 3000-level course offered in the other majors
PLD4103 Personal Development IV (3 Credits)
Competency: Capstone Soft Skills
Level: Deepening
Pre-requisite: PLD3203-Personal Development III + (plus) All the courses scheduled for the Fall and Spring semesters preceding the course PLD4204 + (plus) LES2103, STS2103, CCL2105
Leadership in student government, campus clubs, and non-academic contexts is crucial at this level of a student’s academic journey Application of practical leadership skills on out-of-class projects, including planning and running effective meetings, parliamentary procedure, group leadership, and motivation techniques make the students competitive on the job market.
DDL4211- Parallel Computing (3 Credits)
Competency: Digital and Data Literacy
Level: Deepening
Pre-requisites: DDL2112; LRS2113; SAS3102
This course is about writing effective programs to harness the unprecedented power provided by modern parallel computers so that the programs attain the highest possible levels of performance the machines are capable of. The parallel computers we focus on include multi-core processors, clusters, and supercomputers made from them. The programming systems and methodologies we learn include OpenMP, threads, MPI, and Charm++. However, the course focuses not so much on the mechanics of these programming systems but on how to use them to attain and improve high performance. This performance orientation pervades throughout the course and is enhanced by several case studies, small enough to understand the lecture format yet complex enough to illustrate performance issues and trade-offs. The course also teaches an adequate analytical framework for understanding performance, including performance models, scalability analysis, and iso-efficiency.
DDL4212- Computer Science Capstone (3 Credits)
Competency: Digital and Data Literacy
Level: Mastering
Pre-requisites: All the data science core courses
The Computer Science Capstone is the culminating course for senior students in the Computer Science program. This course is designed to integrate and apply the knowledge and skills acquired throughout the program in a comprehensive, real-world project. Students will work in teams to design, develop, and deliver a software system or research project that addresses a significant problem or need in the field of computer science.
Throughout the course, students will engage in the full project lifecycle, including requirement analysis, design, implementation, testing, and deployment. Emphasis will be placed on project management, teamwork, communication, and ethical considerations. Students will present their work through a formal report, a public presentation, and a demonstration of their final product.
By the end of the course, students will have gained practical experience in solving complex problems, collaborating with peers, and producing a professional-level project that can serve as a portfolio piece for future career opportunities.
DDL 4213 Theory of Computation (3 Credits)
Competency: Digital and Data Literacy
Level: Mastering
Pre-requisites: All the data science core courses
This course explores mathematical models and theories in computer science, focusing on formal languages, computation, automata, grammars, Turing machines, and the theory of computability.
DDL4214- Application Software Security (3 Credits)
Competency: Digital Data Literacy
Level: Mastering
Pre-requisites: DDL3123
Application Software Security is an advanced-level course designed to equip students with the knowledge and skills necessary to identify, analyze, and mitigate security vulnerabilities in software applications. In today’s digital age, securing software applications against cyber threats is paramount. This course focuses on the principles, techniques, and best practices for ensuring the security of application software, covering a wide range of topics from secure coding practices to penetration testing.
DDL4224-Ethics of Digital Technology II (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisites: DDL3213- Ethics of Digital Technology I
This course goes deeper than DDL3213 in exploring social and ethical issues in computing and information technologies. It covers moral reasoning, ethical theories, and various topics in computer ethics, such as internet regulation, privacy, cybersecurity, and professional codes of ethics. It analyzes in depth subjects like the ethics of big data, algorithms, artificial intelligence, and robot ethics.
Any of a 3000-level course offered in the other majors
INT4204 INTERNSHIP IV (0 Credits)
Competency: Competencies from level 4 courses
Level: Specializing
Pre-requisites: All scheduled level 4 courses
INTERNSHIP IV culminates the internship experience with a focus on specialized areas of interest. Students take on leadership roles, manage significant projects, and contribute to organizational goals, preparing them for entry-level management positions post-graduation.
The following technical electives shall be offered:
DDL2204-Web-based Programming (3 Credits)
Competency: Digital and Data Literacy
Level: Develop
Pre-requisites:
This course teaches students how to design and develop web-based applications using various programming languages and tools. Topics covered include web development tools, HTML, CSS, JavaScript, and working with the Document Object Model (DOM).
DDL1101- Foundations of Data Mining (3 Credits)
Competency: Digital and Data Literacy
Level: Introduce
Pre-requisites: None
This course focuses on data mining, which is essential for data analytics. It covers algorithms for analyzing large data sets and emphasizes practical application in solving real-world problems. Students will learn how to discover patterns in data and transform them into actionable insights.
DDL3204- Mobile Application Development (3 Credits)
Competency: Digital and Data Literacy
Level: Mastering
Prerequisites: Junior standing
This course introduces students to programming technologies, design, and development related to mobile applications. Topics include accessing device capabilities, industry standards, operating systems, and programming for mobile applications using an OS Software Development Kit (SDK).
DDL3224- Ethical Hacking (3 Credits)
Competency: Digital and Data literacy
Level: Mastering
Pre-requisites:
In this course, students learn cybersecurity techniques including penetration testing, network defense, and ethical hacking. Topics covered include planning, scanning, vulnerability assessment, exploitation, network defense, and network forensics.
DDL4000 Selected Topics in Computer Science (3 Credits)
Competency: Digital and Data Literacy
Level: Mastering
Pre-requisite: None