BSc in Computer Science Course Description

ECEG 2052—Computer Programming (5). Fundamental programming concepts; Data types, control statements; loops; files for input and output.  

COSC 2051—Object-Oriented Programming (5) Prerequisites: ECEG 2052. Objects and Classes; Inheritance and Polymorphism; Exception Handling; Packages

COSC 2041—Fundamentals of Database Systems (5). ER diagrams; normalization; relational algebra; file organizations and storage management; SQL statements.

COSC 2032—Data Communication and Computer Networks (5). OSI & TCP/IP; network hardware and software; network medium; IP addressing.

COSC 2042—Advanced Database Systems (5). Prerequisites: COSC 2041. Query optimization; transaction management; recovery and concurrency control; database authorization and security.

COSC 2092—Data Structures and Algorithms (5). Prerequisites: ECEG 2052. Simple Sorting and Searching Algorithms; Linked Lists; Stacks; Trees and Graph

COSC 2022—Computer Organization and Architecture (5). Prerequisites: EENG2041. Register Transfer Language and Micro Operations; Basic Computer Organization and Design; Central processing unit; Memory Organization

COSC 3023—Operating Systems (5). Prerequisites: COSC 2022. Processes and process management; Memory Management; Device Management; Security and protection

COSC 3081—Web programming (7). Hyper Text Markup Language (HTML); Cascading Style Sheet (CSS); Client Side Scripting (JavaScript); Server-Side Scripting (PHP)

COSC 3053—Java Programming (5). Prerequisites: COSC 2051. Java GUI using JAVAFX; Streams and File I/O; Networking in Java, Database connectivity

COSC 3061—Software Engineering (5). Unified Modeling Language (UML); Requirements Elicitation; Software Project management; Object Oriented System Design

COSC 3101—Automata and Complexity Theory (5). Regular Expression and Regular languages; Context free languages, push down automata, Computability

COSC 3025—Microprocessor and Assembly Language Programming (5). Prerequisites: COSC 2022. Basic Architecture of 8088 and 8086 Microprocessors; Addressing Modes; Program Control Instructions; Interface

COSC 3034—Wireless Communication and Mobile Computing (5). Prerequisites: COSC 2032. Mobile Computing, Wireless Network Principles; Wireless Local Area Networks; Mobile Network Layer

COSC 3112—Introduction to Artificial Intelligence (5). Prerequisites: COSC 2092, STAT2015. Intelligent Agents; Searching and Planning; Knowledge Representation and Reasoning; Robotic Sensing and Manipulation

COSC 3094—Design and Analysis of Algorithms (5). Prerequisites: COSC 2092. Divide and Conquer; Greedy Algorithms; Dynamic Programming; Back Tracking

COSC 3026—Real Time and Embedded Systems (5). Prerequisites: COSC 3025, COSC 3023. Embedded System Architecture; Software Frameworks for Real-time and Embedded Systems; Real-time Communication; Embedded Systems Design Issues

COSC 3072—Computer Graphics (5). Prerequisites: ECEG 2052. OpenGL, Geometry and Line Generation; Geometrical Transformations; State Management and Drawing Geometric Objects

COSC 3122—Industrial Practice (4). Industrial Practice is an organization-based practical training experience that prepares students for the tasks they are expected to perform after graduation.

COSC 4035—Computer Security (5). Prerequisites: COSC 2032. Cryptography and Encryption Techniques; Network Security; Security Mechanisms; Authentication and Access control

COSC 4113—Computer Vision and Image Processing (5). Prerequisites: COSC 3072, STAT2015. Digital image fundamentals; Spatial Domain Image Processing; Frequency Domain Image Processing; Image Restoration and Reconstruction

COSC 4123—Research Methods in Computer Science (4). Processes in Conducting Research; Research Ethics; Writing Research Papers and Making Presentations; Data Collection and Analysis

COSC 4103—Compiler Design (5). Prerequisites: COSC 3101. Lexical Analysis; Syntax Analysis; Syntax Directed Translation; and Type Checking

COSC 4125—Final year Project I (5). Prerequisites: COSC 3061. This course involves identifying a problem; studying the problem; gathering data and an open presentation of the development of the project work.

COSC 4055—Event-Driven Programming (5). Introduction to .NET, Object-Oriented Fundamentals in VB.NET; Exception Handling and Database Programming.

COSC 4075—Human Computer Interaction (5). Interaction; Interaction Design and HCI in the Software Process; Design Rules and Implementation support; Evaluation Techniques and Universal Design.

COSC 4077—Multimedia (5). Data Representations, Fundamental Concepts in Video; Lossless Compression Algorithms and Loss Compression Algorithms. 

COSC 4083—Mobile Application Development (5). Prerequisites: COSC 2051. Notification; Menus and Dialogs; Location and Map; Working with Data Storage and Network Communication.

COSC 4036—Networking and System Administration (5). Prerequisites: CoSc2032, CoSc3023. Account and Security Administration, and Access Control (DAC, RBAC); File Systems and Management of Data Storages; Network Management and Managing Network Services.

COSC 4038—Introduction to Distributed Systems (5). Prerequisites: CoSc3023, CoSc2032. Architectures; Communication; Synchronization, Consistency and Replication and Fault Tolerance.

COSC 4132—Selected Topics in Computer Science (5). Semantic web; block chain technology; pervasive and Internet of Things

COSC 4126—Final year Project II (5). Prerequisites: FYPR 4211. On this phase, students have to writing the code based on the design they have created in Final Year Project I am using any programming language.

COSC 4079—Simulation and Modeling (5). Continuous simulation, Discrete and combined simulation, Differential inclusions in Modeling and Simulation, Simulating Phenomena of General Relativity and Multi-server models

COSC 4112—Introduction to Data Mining and Data Warehousing (5). Prerequisites: STAT 2015. Data Warehousing and OLAP technologies; Association Rule Mining, Classification; prediction; Cluster Analysis;  Applications of Data Mining

COSC 4114—Introduction to Machine Learning (5). Prerequisites: MATH 2011, STAT 2015. Supervised learning, unsupervised learning; Neural Network and Model Evaluation

COSC 4116—Introduction to Natural Language Processing (5). Prerequisites: COSC 3101. Words and Transducers; Language Modeling; Syntactic parsing and Semantic Analysis.