Course Code: CHEM 1301 Course Name: Chemistry
Credit Hours: 3 (2,2)
Prerequisites: none
Course Description:
This course introduces the fundamental principles of nuclear, organic and general chemistry and their practical applications. It focuses on the structure of biochemical molecules and their physical and chemical properties. The course also includes inquiry based qualitative and quantitative laboratory experiments.
Course Code:
BSCS 2330
Course Name:
Discrete Structures
Credit Hours: 3 (3,0)
Prerequisites: none
Course Description:
This course introduces important foundational mathematical models essential for the proficiency in some of the higher-level computer science courses such as networking, operating systems, intelligent systems, compilers, software engineering, cryptography, and databases. It covers the propositional and predicate logic, and proof techniques to be used for creating and understanding formal symbolic proof or mathematically rigorous argument. The course also presents the graph, probability, and set theories as well as functions and relations, Discrete probability, Recursive Algorithms, Elementary combinatorics, and Counting methods.
Course Code:
MATH 1304
Course Name:
Calculus I
Credit Hours: 3 (2,2)
Prerequisites: none
Course Description:
This course introduces the use of calculus in computing emphasizing computational skills, ideas, and problem solving. It provides the concepts of differentiation and integration in computing applications. It also covers real numbers, functions, continuity and limits, derivatives, curve sketching, optimization areas between curves, applications of the derivative, anti-derivatives, integrals, and areas.
Course Code: MATH 1305 Course Name: Calculus II
Credit Hours: 3 (2, 2)
Prerequisites: MATH 1304 Calculus I
Course Description:
This course introduces the integral and differential calculus. It covers techniques of integration, improper integrals, sequences and series of numbers, Taylor series, polar coordinates, parametric equations, and differential equations.
Course Code:
MATH 1306
Course Name:
Linear Algebra
Credit Hours: 3 (2,2)
Prerequisites: none
Course Description:
The course is an introduction to matrix theory and linear algebra. Emphasis is given to topics that will be useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, similarity, and positive definite matrices. This course also introduces the idea of abstract mathematics through vectors in 2- spaces to n-spaces, and other related topics such as eigenvalues and eigenvectors.
Course Code:
PHYS 1302
Course Name:
Physics
Credit Hours: 3 (2,2)
Prerequisites: none
Course Description:
This course introduces fundamental principles of physics and their applications in solving several problems in different contexts. It examines applications related to architecture and modern technology. Emphasis is placed on developing a conceptual understanding of techniques through laboratory exercises and multimedia simulations.
Course Code:
STAT 2301
Course Name:
Statistics
Credit Hours: 3 (2,2)
Prerequisites: MATH 1304
Course Description:
This course gives students an introduction to basic statistical terms and methods used in applications. It introduces concrete examples handling data sets and using standard techniques for displaying and summarizing results. Other topics studied include probability, discrete and continuous random variables, normal curves, statistical inference, and hypothesis testing.
Course Code: BSCS 1360 Course Name: Computer Ethics and Society
Credit Hours: 3 (3,0)
Prerequisites: none
Course Description:
This course addresses ethical and social issues related to the development and use of computer technology. It covers the responsibilities of computer professionals for applications and consequences of their work. It also presents computing topics within the social, political, legal, and ethical contexts, including social impact of computers and the Internet, professionalism, codes of ethics, responsible conduct, copyrights, intellectual property, and software piracy. The course also highlights different scenarios focusing on challenge areas such as privacy, reliability, and risks of complex systems.
Course Code:
BSCS 1321
Course Name:
Digital Logic Concepts
Credit Hours: 3 (2,2)
Prerequisites: none
Course Description:
This course focuses on fundamental constructs and concepts underlying computer hardware, the structure of computers components, and digital logic. It presents number systems notions and operations including decimal, binary, octal, and hexadecimal systems. The course also covers binary arithmetic, codes, Boolean algebra, gates, Boolean expressions, Boolean switching function synthesis, iterative arrays, sequential machines, state minimization, flip/flops, sequential circuits, and simple processors.
Course Code:
BSCS 2320
Course Name:
Computer Architecture and Organization
Credit Hours: 3 (2,2)
Prerequisites: BSCS 1321 Digital Logic Concepts
Course Description:
This course covers the principles of computer organization and instruction set architecture. It introduces the organization and architecture of the basic building blocks of computer hardware including Arithmetic Logic Unit (ALU), registers, Central Processing Unit (CPU), and memory as well as input/output processing and management. It also provides the fundamentals of translating higher level languages into assembly language and interpreting machine languages by hardware.
Course Code:
BSCS 1350
Course Name:
Introduction to Programming
Credit Hours: 3 (2,2)
Prerequisites: None
Course Description:
This course builds the foundation for coding experience through explaining the syntax and semantics of a higher-level language. The course covers developing programs using fundamental concepts of procedural programming including primitive data types and strings, conditional and iterative control structures, methods, and parameter passing, files and I/O streams, and arrays. It also covers the mechanics of running, testing, and debugging computer programs using proper Integrated Development Environment (IDE) with a substantial utilization of lab- based exercises.
Course Code: BSCS 2310 Course Name: Analysis of Algorithms
Credit Hours: 3 (3,0)
Prerequisites: BSCS 2351 Fundamental Data Structures
Course Description:
This course covers methods for designing efficient and reliable algorithms for sorting, searching, and selection, using several algorithm design strategies. It emphasizes the proving of algorithm correctness using worst and average case analysis and the implementing of many common algorithms using several algorithm design techniques, including divide-and-conquer, dynamic programming, Branch-and-bound, Recursive backtracking, Brute-force algorithms, and greedy algorithms. The course also covers algorithms of advanced data structures, such as binary search trees and graph algorithms: minimum-cost spanning tree, connected components, topological sort, and shortest paths.
Course Code:
BSCS 2351
Course Name:
Fundamental Data Structures
Credit Hours: 3 (2,2)
Prerequisites: BSCS 1350 Introduction to Programming
Course Description:
This course covers program design, analysis, and verification as well as the study of basic data structures including arrays, linked lists, stacks, queues, trees, hash tables, and graphs. It presents the proper use of built-in data structures, their alternative implementations, and the strategies for choosing the proper structures. The course also introduces recursion techniques and algorithms used to process and traverse presented data structures such as Heap Sort and Binary Search Tree algorithms.
Course Code:
BSCS 2355
Course Name:
Object Oriented Programming
Credit Hours: 3 (2,2)
Prerequisites: BSCS 1350 Introduction to Programming
Course Description:
This course covers the concepts of object-oriented programming. It provides a review of the object-oriented programming paradigm with an emphasis on the definition and use of classes and objects along with encapsulation and information- hiding. The course also covers fundamental concepts of object-oriented design including inheritance and polymorphism, interfaces and overloading, exception handling, generics, and collections.
Course Code: BSCS 2370 Course Name: Operating Systems
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2320 Computer Architecture and Organization
Course Description:
This course introduces several types of operating systems (OS), including networked, client-server, distributed operating systems, and their roles, purpose, and functionalities. It also focuses on operating systems design and implementation issues: system security; synchronization and communication mechanisms; process implementation, management, scheduling, and protection; virtual machines; memory organization and management, involving virtual memory; and I/O device management, secondary storage, and file systems.
Course Code: BSCS 2375 Course Name: Networking and Data Communication
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2320 Computer Architecture and Organization
Course Description:
This course focuses on fundamental concepts of data communication and networking principles. It introduces the underlying design, components, and protocols of each layer of the computer networks layered architectures: application, transport, network, datalink, and physical. It also presents techniques for transmitting information efficiently and reliably over a variety of communication media using networking protocols such as Transmission Control Protocol/Internet Protocol (TCP/IP), Ethernet, reliable transfer, flow control, and congestion control. The course covers network topologies, networks security, socket programming, networks applications, and protocols such as Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), and peer-to-peer (p2p), as well as wired and wireless Local and Wide Area Networks (LAN's/WAN's).
Course Code: BSCS 2340 Course Name: Computer Graphics and Visualization
Credit Hours: 3 (2,2)
Prerequisites: Math 1306 Linear Algebra
BSCS 2351 Fundamental Data Structures
BSCS 2310 Analysis of Algorithms
Course Description:
This course describes the principles and basics of computer graphics generation and manipulation. It explains the fundamentals of rendering 2D shapes and 3D models using scan conversion algorithms, Application Programming Interface (API) such as Open Graphics Library (OpenGL), and graphics tools. It also introduces a mathematical camera model for light interaction with surfaces, lenses, and an imager to shade and texture realistic 3D models using color models, texture mapping, affine transformations, ray casting, ray tracing, anti-aliasing, and depth buffering techniques, and basic algorithms and applications for scalar and vector visualizations using visualization tools.
Course Code: BSCS 3345 Course Name: Human Computer Interaction
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2355 Object Oriented Programming
Course Description:
This course focuses on designing, implementing, and evaluating user interfaces of computational systems to enhance the interactions with human activities. It covers user-centered design, rapid prototyping and experimentation, user interface standards, cognitive and social models that inform interaction design, Graphical User Interfaces (GUI) principles and visual design tools, as well as designing Human Computer Interaction (HCI) on webpages, business applications, mobile applications, games, and other computer applications.
Course Code:
BSCY 1310
Course Name:
Fundamentals of Cybersecurity
Credit Hours: 3 (3,0)
Prerequisites: None
Course Description:
This course introduces the concepts of cybersecurity and risk management. It highlights the importance of cybersecurity and the integral role of cybersecurity professionals in the planning, developing, and performing security tasks and policies with respect to hardware, software, processes, networks and communications, data and applications, policies, and procedures. The course also provides the foundational cybersecurity risk management principles, including reducing vulnerabilities and threats, applying proper safeguards/controls, security architecture, compliance and operational security, threats and vulnerabilities attacks, incidents, and cryptography.
Course Code:
BSIS 2340
Course Name:
IS Project Management
Credit Hours: 3 (2,2)
Prerequisites:
Course Description:
This course introduces a systematic approach for IS project management, based on the Project Manager Body of Knowledge (PMBOK) guide. It presents the initiating, planning, executing, controlling, and closing of the information systems projects in organizations. It also covers managing large projects in modern organizations, involving performing complex team-based activities that take advantage of several kinds of project management and group collaboration software tools.
Course Code: BSIS 3320 Course Name: Database Management Systems
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2351 Fundamental Data Structures
Course Description:
This course introduces data and information management using relational database systems. The course presents practical experience in the development of database applications through the steps of determining and modeling the organizational information requirements using conceptual, logical, and physical data modeling techniques, and implementing these models into a relational database using an industrial-strength database management system. The course also covers database query languages including SQL, essential database administration tasks, and basic concepts of data quality and data security.
Course Code: BSCS 3330 Course Name: Computational Science Principles
Credit Hours: 3 (2,2)
Prerequisites: Math 1306 Linear Algebra
Math 1305 Calculus II
BSCS 2310 Analysis of Algorithm
Course Description:
This course focuses on the concepts and practices of data modeling, simulation, and analysis of physical processes. It covers basic computational simulation and modeling tools, such as Python toolkit stack. The course also introduces common computational algorithms for performing scientific modeling, including computational integration and differentiation, random Monte Carlo methods and solutions of ordinary differential equations.
Course Code:
BSCS 3365
Course Name:
Software Engineering
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2355 Object Oriented Programming Object oriented programming
Course Description:
This course focuses on the fundamentals systems development using standard analysis and design techniques including waterfall, spiral, and Objet Oriented Design (OOD) methods. It covers project management techniques as well as System Development Life Cycle (SDLC) phases: problem analysis, scope definition, system requirements specification, system design and modeling, system implementation and validation, and system deployment and maintenance.
Course Code:
BSCS 3380
Course Name:
Artificial Intelligence
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2351 Fundamental Data Structures
Course Description:
This course introduces fundamental techniques in the field of Artificial Intelligence (AI), which studies solutions for problems that are difficult or impractical to solve with traditional methods. It covers search strategies including uninformed search, heuristics and informed search; knowledge representation and reasoning, basic machine learning methods. The course also presents current AI applications in selected areas such as game playing and natural language processing.
Course Code: BSCS 4315 Course Name: Parallel and Distributed
Computing
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2370 Operating System
Course Description:
This course introduces basic concepts in the design and implementation of parallel and distributed systems. It focuses on the fundamental architecture of parallel and distributed systems as well as the computing algorithms and programming models to build those systems. The course also covers the communications and coordination of parallel and distributed systems in addition to emerging technologies including cloud computing, grid computing, cluster computing, and supercomputing.
Course Code:
BSCS 3390
Course Name:
Advanced Applications Programming
Credit Hours: 3 (2, 2)
Prerequisites: BSCS 2355 Object Oriented Programming
Course Description:
This course introduces the theory, design, techniques, practices, and languages used to develop software systems and applications for the internet and cloud computing, with a focus on web-based client server applications and mobile applications. It covers several advanced applications development environments including web development programming using JavaScript, Hyper Text Markup Language (HTML), Cascading Style Sheets (CSS), Extensible Markup Language (XML), and web services as well as mobile application development of major mobile operating system platforms for both smartphones and tablets. It also covers server database management technology such as Active Server Page (ASP), and cross-platform development. The course emphasizes the development, design, and building of a variety of apps to reinforce learning and to develop real competency.
Course Code:
BSCS 3340
Course Name:
Networks and Connections Security
Credit Hours: 3 (2, 2)
Prerequisites: BSCS 2375 Networking and Data Communication
Course Description:
This course focuses on the security of the connections between software components including both physical and logical connections. It covers security issues, vulnerabilities, connection attacks, and Transmission attacks related to distributed systems including computer networks, World Wide Web (WWW), the Internet, High performance computing (HPC), and Cloud Services. The course also introduces current concepts in network protection including Network hardening, network traffic auditing services such as Intrusion Detection(ID) and Intrusion Prevention Services (IPS), firewalls, Virtual Private Networks (VPNs), Honeypots and honeynets, Network monitoring and traffic analysis, Network access control, Perimeter networks, Network policy and operational procedures development and enforcement as well as test the network by actually attempting to exploit vulnerabilities using session hijacking and man-in-the middle techniques.
This course focuses on the security of the connections between software components including both physical and logical connections. It covers security issues, vulnerabilities, connection attacks, and Transmission attacks related to distributed systems including computer networks, World Wide Web (WWW), the Internet, High performance computing (HPC), and Cloud Services. The course also introduces current concepts in network protection including Network hardening, network traffic auditing services such as Intrusion Detection(ID) and Intrusion Prevention Services (IPS), firewalls, Virtual Private Networks (VPNs), Honeypots and honeynets, Network monitoring and traffic analysis, Network access control, Perimeter networks, Network policy and operational procedures development and enforcement as well as test the network by actually attempting to exploit vulnerabilities using session hijacking and man-in-the middle techniques.
Course Code:
BSCS 4308
Course Name:
Selected Topics
Credit Hours: 3 (2,2)
Prerequisites: none
Course Description:
Selected Topics course will expose students to the topics and current state-of-the-art in advanced area not offered by other existing courses. The course explores the current and potential future impacts of new, emerging, and rapidly evolving technologies in computer science. Students will gain insights into these technologies and how society, organizations and people are coping (or not) with the resulting disruption. Overall, the course will provide a broader and deeper perspective of the emerging areas in the fields.
Course Code: BSCS 4391 Course Name: Capstone Project I
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3365 Software Engineering
(At least 90CH)
Course Description:
This course is part of a two-part fold capstone project, completed in Capstone Project II. The project stresses the integration of learning from across the curriculum within the Computer Science field with a strong technical focus. Teams practice gained knowledge and skills, in a realistic development setting with real clients. The course covers design thinking principles and techniques, and analysis of the client's business processes to produce a project proposal that addresses a contemporary business issue or an opportunity. Projects are completed in Capstone Project II.
Course Code:
BSCS 4392
Course Name:
Capstone Project II
Credit Hours: 3 (1,4)
Prerequisites: BSCS 4391 Capstone Project I
Course Description:
This course is a continuation of a two-part research project, begun in Capstone Project I course. It stresses on the integration of learning from across the curriculum within the Computer Science field in an applied capstone project with a strong technical focus. This course concentrates on the further development, information system project implementation, deployment, and validation of information system projects. The course emphasizes the successful demonstration of the information system in a practical environment.
Course Code:
BSCS 3393
Course Name:
Internship
Credit Hours: 1(1,0,6)
Prerequisites: BSCS 3365 Software Engineering
Course Description:
This course offers the opportunity to undertake either an external work experience at an organization or on-site professional practicum relevant to the field of Computer Science. The Internship provides the ability to apply skills and academic knowledge acquired in a contemporary workplace situation and to receive hands- on learning, in preparation for the workforce.
CS Program Electives
Course Code:
BSCS 4301
Course Name:
Cloud Computing
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2370 Operating Systems
BSCS 2375 Networking and Data Communication
Course Description:
This course introduces the basic knowledge and concepts of building cloud infrastructure. It covers the technologies, components, processes, and mechanisms of a cloud computing reference model that includes five fundamental layers (physical, virtual, control, orchestration, and service) and three cross-layer functions (business continuity, security, and service management). The course also provides an 'open' approach of technology concepts and principles that can be applied in any environment.
Course Code:
BSCS 4302
Course Name:
Big Data Analytics
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3304 Introduction to data science
Course Description:
The course introduces the core concepts behind big data problems, applications, and systems as well as the basic and advanced analytical methods and big data analytics technology and tools. It presents the baseline of understanding the Data Analytics Lifecycle to address business challenges that use big data. The course also covers cloud-based big data analysis and application of large-scale data analysis.
Course Code: BSCS 3305 Course Name: Software Requirements Engineering
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3365 Software Engineering
Course Description:
This course focuses on the properties and engineering of software systems requirements. It covers methods, analysis and formal specifications of systems requirements elicitation. The course also presents systems requirements modeling techniques including prototyping and concepts of requirements validation and tracing.
Course Code:
BSCS 4306
Course Name:
Software Design and Construction
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3305 Software Requirements Engineering
Course Description:
This course focuses on the software systems design and construction as a part of the software systems development process. It covers the architecture and models for internal and external qualities in designing software components and analyzing the software design from the perspective of a significant internal and external quality attribute. The course also presents the role of object-oriented paradigm within middleware design as well as the constructing of robust software using security enhanced programming and documentation.
Course Code:
BSCS 4307
Course Name:
Software Verification and Validation
Credit Hours: 3 (2,2)
Prerequisites: BSCS 4306 Software Design and Construction
Course Description:
This course focuses on software systems verification and validation as a part of the software systems development process. It covers the creation, evaluation, and implementation of a test plan for verifying and validating software systems using static and dynamic approaches including regression testing, test-driven development, object-oriented testing as well as Fault logging and tracking. The course also presents the verification and validation of non-code artifacts including documentation, help files, and training materials.
Course Code: BSCS 3385 Course Name: Machine Learning
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3380 Artificial Intelligence
Course Description:
This course focuses on the design, implementation, and analysis of machine learning concepts and fundamental algorithms. It covers supervised learning algorithms including decision tree learning, support vector machines, and neural networks. It also introduces unsupervised learning algorithms including k-means and expectation maximization, and optionally reinforcement learning algorithms such as Q learning and temporal difference learning. The course also presents methods for the evaluation of learning algorithms, as well as topics in computational learning theory.
Course Code:
BSCS 4386
Course Name:
Natural Language Processing
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3385 Machine Learning
Course Description:
This course introduces the fundamental concepts of natural language processing (NLP). It covers The study of human language from a computational approach. The course's goal is to give students a deep grasp of the paradigms that are currently being used in natural language processing as well as practical experience in creating NLP systems employing these paradigms. Students will use both statistical and symbolic methods to NLP in their projects.
Course Code:
BSCS 4387
Course Name:
Robotics
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3380 Artificial Intelligence
BSCS 2370 Operating Systems
Course Description:
This course introduces an overview of capabilities and limitations of today's state- of-the-art robot systems, including their sensors and sensor processing. It covers the integration of sensors and actuators to design and program robots to accomplish tasks using deliberative, reactive, and/or hybrid control architectures. The course presents the handling of uncertainties associated with robots sensors and actuators. It also presents the implementation of motion planning algorithms within a robot configuration space and environmental maps.
Course Code:
BSCS 3304
Course Name:
Introduction to Data Science
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3380 Artificial Intelligence
Course Description:
This course focuses on standards and practices for collecting, organizing, managing, exploring, and using data. It aims to provide introductory knowledge of several data science techniques that can be used for data analysis. Topics include preparation and analysis of data and creating analysis tools for larger data sets
Course Code:
BSCS 4388
Course Name:
Computer vision
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3385 Machine Learning
Course Description:
This course introduces computer vision, including fundamentals of image formation, camera imaging geometry, feature detection and matching, stereo, motion estimation and tracking, image classification, scene understanding, and deep learning with neural networks. In this course, basic methods for applications that include finding known models in images, depth recovery from stereo, camera calibration, image stabilization, automated alignment, tracking, boundary detection, and recognition will be developed.
Course Code:
BSCS 4303
Course Name:
Data visualization
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3304
Introduction to data science
Course Description:
This course presents the art and science of turning data into readable graphics. It explains the design and creation of data visualizations based on data available and tasks to be achieved using data visualization tools. This process includes data modeling, data processing (such as aggregation and filtering), mapping data attributes to graphical attributes, and strategic visual encoding based on known properties of visual perception. It also covers the evaluation of the effectiveness of visualization designs, and think critically about each design decision, such as choice of color and choice of visual encoding.
Course Code: BSCS 3395 Course Name: Computer Games Design and Development
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2340 Computer Graphics
BSCS 3380 Artificial Intelligence
Course Description:
This course presents an overview of the history of computer games and the principles of game design and development. It covers game genres, content, patterns, playability, suspension of disbelief and immersion, storytelling, and game balance and fairness. The course focuses on the design and development of two- and three-dimensional games from concept to completion stage.
Course Code:
BSCS 4396
Course Name:
Mobile and Casual Games Development
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2355 Object Oriented Programming
Course Description:
This course focuses on the design and development of mobile (handheld, PDA and cell-phone) and casual gaming. It covers the mobile hardware resources such as smaller memory, limited processor capabilities, and smaller displays and their implications and limitations to the games design and playability. The course also presents patterns of casual game development and emerging markets for casual games.
Course Code:
BSCS 4397
Course Name:
Educational and Serious Game Design
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2355 Object Oriented Programming
Course Description:
This course presents the history, theory, current best practices and the use of serious gaming in education and training. It focuses on how to engage and entertain while presenting informative interfaces to the user. The course also covers motivation, designing engaging learning interfaces, and knowledge transfer from the game environment to the real world.
Course Code: BSCS 3390 Course Name: CS Research Methods
Credit Hours: 3 (3,0)
Prerequisites: none
Course Description:
The course enhances the knowledge of research methods on both practical and theoretical level, including lectures and seminars. It explains various research methods and techniques within the area of Computer Science (CS). It also covers planning, designing, and carrying out investigations and studies using both qualitative and quantitative methods in addition to writing up and presenting the research reports and results.
Course Code: BSCS 2325 Course Name: Computer Systems Fundamentals
Credit Hours: 3 (3,0)
Prerequisites: BSCS 2320 Computer Architecture and Organization
Course Description:
This course focuses on fundamentals and concepts of computer systems. It presents an integrative view of fundamental concepts through the use of computational paradigms, parallelism, cross-layer communications, state and state transition, and resource allocation and scheduling.
Course Code:
BSCS 3311
Course Name:
Basic Automata and Complexity
Credit Hours: 3 (3,0)
Prerequisites: BSCS 2310 Analysis of Algorithms
Course Description:
This course focuses on logical and mathematical foundations of computer science including basic automata computability and complexity. It covers the concept of finite state machines, the generation of regular expressions and context-free grammars to represent specified languages and deterministic finite state machines. The course also presents the halting problem, the classes P and NP, and NP- completeness.
Course Code:
BSCS 1376
Course Name:
IT Essential
Credit Hours: 3 (2,2)
Prerequisites:
Course Description:
This course provides a comprehensive overview of computer hardware and software with an introduction to advanced concepts. It introduces the internal components of a computer, mobile devices hardware and software, as well as operating systems, networking concepts and IT security. It explains the responsibilities of an IT professional and different system tools and diagnostic software used for troubleshooting.
Course Code:
BSCS 3377
Course Name:
Routing and Wireless Essentials
Credit Hours: 3 (2,2)
Prerequisites: BSCS 2375 Networking and data communication
Course Description:
This course focuses on switching technologies and router operations that support small-to-medium business networks and includes wireless local area networks (WLAN) and security concepts. It covers the architecture, components, and operations of routers and switches in a small network. It introduces also the concept of forwarding data between different networks in a LAN and the configuration of a router and a switch for basic functionality. This course provides the knowledge to configure and troubleshoot routers and switches and resolve common issues with virtual LANs routing in both IPv4 and IPv6 networks. This course also covers DHCP protocol, network address translation (NAT) and access control lists (ACL) used to filter network traffic.
Course Code: BSCS 3378 Course Name: Enterprise Networking and Automation
Credit Hours: 3 (2,2)
Prerequisites: BSCS 3377 Routing and Wireless Essentials
Course Description:
This course describes the architectures and considerations related to designing, securing, operating, and troubleshooting enterprise networks. It focuses on the configuration of routers and switches for advanced functionality. It covers also wide area network (WAN) technologies and quality of service (QoS) mechanisms used for secure remote access along with the introduction of software-defined networking (SDN), virtualization, and automation concepts that support the digitalization of networks. This course also provides knowledge and skills needed to implement a WLAN in a small-to-medium network.
Course Code: BSCS 4323 Course Name: Industry 4.0
Credit Hours: 3 (2,2)
Prerequisites:
Course Description:
This course examines the evolution of Industry 4.0 and its applications in the business world. It provides a comprehensive coverage on the role of data, information, knowledge, as well as various Industry 4.0 technologies and applications. This course also focuses on different challenges of Industry 4.0, and how organizations and knowledge workers can prepare themselves to reap the benefits of this evolution.
Course Code:
BSCS 3394
Course Name:
Mobile Application Development
Credit Hours: 3 (2,2)
Prerequisites: BSCS 1350 Introduction to Programing
Course Description:
This course provides the skills and knowledge needed to design, develop, and deploy their own mobile applications. It is a hands-on course, that presents the fundamentals of mobile application development, covering both Android and iOS platforms. The course also covers essential aspects like mobile security, testing methodologies, and performance optimization, to create secure, reliable, and high-performance mobile solutions.