Level – 2G
Course units from academic year 2016/2017 to date
Course Code:  CSC201G2  
Course Title:  Database Systems Concepts and Design  
Credit Value:  02  
Core/Optional:  core  
Hourly Breakdown:  Theory  Practical  Independent Learning 
30  —  70  
Objectives:  Introduce database system concepts and fundamentals necessary for designing, implementing, and manipulating databases.  
Intended Learning Outcomes: 


Contents: 


Teaching/Learning Methods:  Lectures, Recitation oral questions, Guided learning, Tutorial discussions  
Assessment Strategy: 


References: 

Course Code:  CSC202G2  
Course Title:  Computer Programming II  
Credit Value:  02  
Core/Optional:  core  
Hourly Breakdown:  Theory  Practical  Independent Learning 
—  90  110  
Objectives:  Develop proficiency in writing programs to solve computational problems using suitable data structures.  
Intended Learning Outcomes: 


Contents: 


Teaching/Learning Methods:  Lectures, Laboratory practicals, Guided learning, Assignments, Continuous practical recordings  
Assessment Strategy: 


References: 

Course Code:  CSC203G2  
Course Title:  Operating Systems  
Credit Value:  02  
Core/Optional:  core  
Hourly Breakdown:  Theory  Practical  Independent Learning 
30  —  70  
Objectives:  Provide fundamental concepts and functionalities of operating systems.  
Intended Learning Outcomes: 


Contents: 


Teaching/Learning Methods:  Lectures, Case studies, Use of chalkboard, Simulation, Recitation oral questions, Guided learning, Tutorial discussions  
Assessment Strategy: 


References: 

Course Code:  CSC204G2  
Course Title:  Data Structures & Algorithms  
Credit Value:  02  
Core/Optional:  core  
Hourly Breakdown:  Theory  Practical  Independent Learning 
30  —  70  
Objectives:  Introduce common data structures and standard algorithms for solving various types of problems.  
Intended Learning Outcomes: 


Contents: 


Teaching/Learning Methods:  Lecture, class discussions, tutorial discussions, Assignments  
Assessment Strategy: 


References: 

Course Code:  CSC205G2  
Course Title:  Software Engineering  
Credit Value:  02  
Core/Optional:  core  
Hourly Breakdown:  Theory  Practical  Independent Learning 
30  —  70  
Objectives:  Introduce all phases of the life cycle of a software system including requirements analysis and specification, design, construction, testing, deployment, operation, and maintenance.  
Intended Learning Outcomes: 


Contents: 


Teaching/Learning Methods:  Lecture, case studies, Recitation oral questions, small groups discussions, Guided learning  
Assessment Strategy: 


References: 

Course units from Academic Year 2014/2015 to 2017/2018
Core Course Units
Course Code:  CSC231GC2 
Course Title:  Software Engineering 
Academic Credits:  02 (30 Hours of Lectures and Tutorials) 
Prerequisite/s:  None 
Objectives:  This course aims to provide fundamental knowledge and skills to carry out the fundamental activities in Software Engineering. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Lecture by teacher, class discussion, recitation oral, lecture demonstration, small groups discussions, use of slides, textbook assignments, case studies 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC232GC2 
Course Title:  Computer Programming II 
Academic Credits:  02 (90 Hours of practical and assignments) 
Prerequisite/s:  None 
Objectives:  This course aims to introduce the object oriented programming paradigms. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Laboratory experiments, Supervised study, Practical records, Tutorial discussions by Instructors 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC233GC2 
Course Title:  Database Management Systems 
Academic Credits:  02 (30 Hours of Lectures and Tutorials) 
Prerequisite/s:  None 
Objectives:  This course aims to introduce the fundamental concepts necessary for designing, using, and implementing database systems and applications. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Use of diagrams and tables, Vocabulary drills, Recitation oral questions, Tutorial discussions by Instructors 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC234GC2 
Course Title:  Operating Systems 
Academic Credits:  02 (30 Hours of Lectures and Tutorials) 
Prerequisite/s:  None 
Objectives:  This course aims to provide fundamental concepts and functionalities of an operating system. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Case studies, Simulation, Use of chalkboard, Recitation oral questions, Tutorial discussions by Instructors 
Assessment/ Evaluation Details: 

Recommended Readings: 

Elective Course Units
Course Code:  CSC235GE2 
Course Title:  Group Project I 
Academic Credits:  2 (15 hours of mentoring and 100 hours of project development) 
Prerequisite/s:  None 
Objectives:  This course aims to provide an opportunity to improve the skills and knowledge of students to develop software as a team using software engineering principles. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Lecture by teacher, recitation of oral questions, lecture demonstration, textbook assignments, small group discussions, case studies, class projects, coaching. 
Assessment/ Evaluation Details: 

Course Code:  CSC236GE2 
Course Title:  Data Structures and Algorithms II 
Academic Credits:  02 (30 Hours of Lectures and Tutorials) 
Prerequisite/s:  CSC113GC2 
Objectives:  This course aims to introduce more complex data structures for the manipulation of data by using complex algorithms, evaluate solution methods and choose most appropriate solution. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Lecture by teacher, class discussions, textbook assignments, laboratory exercises 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC237GE2 
Course Title:  Numerical Methods 
Academic Credits:  02 (30 Hours of Lectures and Tutorials) 
Prerequisite/s:  CSC111GC3 
Objectives:  This course aims to enable the students to develop their programming skill in solving a variety of numerical problems. 
Intended Learning Outcomes: 

Contents: 

Teaching Meth  Lecture – demonstration, tutorial discussions, recitation of oral questions, use of chalkboard and presentations 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC238GE2 
Course Title:  Information Security Management 
Academic Credits:  02 (30 Hours of Lectures and Tutorials) 
Prerequisite/s:  CSC112GC3 
Objectives:  This course aims to introduce computer security, including network security, platform security, and familiarize defense mechanisms to handle attacks. 
Intended Learning Outcomes: 

Contents: 

Teaching Meth  Lecture by teacher, recitation of oral questions, lecture demonstration, textbook assignments, small group discussions, use of slides, use of recordings, use of motion pictures, case studies, class projects. 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC239GE2 
Course Title:  Multimedia Technologies 
Academic Credits:  2 (30 hours of lectures and tutorials) 
Prerequisite/s:  None 
Objectives:  This course aims to bring awareness regarding the numerous resources available in the area of multimedia and to discuss the relevance and underlying infrastructure of the multimedia. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Lecturedemonstration, recitation of oral questions, use of chalkboard and multimedia presentations 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course Code:  CSC241GE2 
Course Title:  Bioinformatics 
Academic Credits:  2 (30 hours of lectures and tutorials) 
Prerequisite/s:  CSC112GC3 
Objectives:  This course aims to provide theoretical and practical knowledge in Bioinformatics methods including accessing the major public sequence databases, use of different computational tools to find sequences, analysis of protein and nucleic acid sequences by various webbased tools. 
Intended Learning Outcomes: 

Contents: 

Teaching Methods:  Class discussion, recitation oral questions, vocabulary drills, simulations. 
Assessment/ Evaluation Details: 

Recommended Readings: 

Course units from Academic Year 2004/2005 to 2014/2015
Core Course Units
Course Code  CSC201GC2 
Course Title  Data Structures and Algorithms 
Academic Credits  02 (30 hours of lectures and tutorials) 
Objectives: 

Contents: 

Assessment/ Evaluation Details: 

Course Code  CSC202GC2 
Course Title  Database Management Systems 
Academic Credits  02 (30 hours of lectures and tutorials) 
Objectives: 

Contents: 

Assessment/ Evaluation Details: 

Course Code  CSC203GC2 
Course Title  Software Engineering 
Academic Credits  02 (30 hours of lectures and tutorials) 
Objectives: 

Contents: 

Assessment/ Evaluation Details: 

Course Code  CSC204GC2 
Course Title  Practical Computing – II 
Academic Credits  02 (90 hours of Practical) 
Objectives: 

Contents: 

Assessment/ Evaluation Details: 

Course Code  CSC221GE2 
Course Title  Numerical Computing 
Academic Credits  02 (30 hours of lectures and tutorials) 
Objectives: 

Contents: 

Assessment/ Evaluation Details: 

Course Code  CSC113GC2 
Course Title  Data Structures and Algorithms I 
Academic Credits  02 (30 hours of lectures and tutorials) 
Objectives: 

Contents: 

Assessment/ Evaluation Details: 

Course units before Academic Year 2004/2005
Handling of Errors
Fixed point and Floating point arithmetic, implication of finite precision, errors in numerical computation.
Interpolation
Polynomial and interpolations.
Approximations
Uniform approximation, discrete least squares approximation, polynomial approximation, Fourier’s approximation, Chebyshev economisation.
Numerical Integration and Differentiation
Interpolatory numerical quadrature, Gaussian quadrature, adaptive integration, Romberg integration, numerical differentiation.
Solutions of Non – Linear Equations
Bisection method, fixed point iteration, Newton’s method, Aitken’s process, rates of convergence of the various methods.
Algorithms
Algorithms to implement the above methods in a computer using Pascal, C or FORTRAN.
(Prerequisites CSG 11).
Introduction
Definition as a methodology introduced by a mathematician named Abuja’far Mohammed ibn Musa al Khowarizmi: characteristics of algorithms; designing, devising and expressing algorithms, use and removal of recursion; validation, analysis, testing and profiling.
Greedy Method
Graph algorithms such as finding spanning tree and single source shortest path etc. Knapsack problem, job sequencing, etc.
Divide and Conquer
Binary search; merge sort; quick sort, etc.
Backtracking
Nqueen problem; sum of subsets, graph colouring; Hamiltonian cycle; knapsack problem.
Dynamic Programming
All pairs shortest paths; optimal binary search trees; Knapsack problem; travelling sales person problem.
Branch and Bound
Knapsack problem; travelling sales person problem.
Graph / Tree Algorithm
Breadthfirst search in graph (ANDgraph, ORgraph etc.); tree traversal on binary, threaded AVL and game trees, handling Btree and disk memory management.
Symbol Table Algorithm
Dynamic tree tables, Hash tables.
(Prerequisites CSG 14)
Introduction to Predicate Calculus
Syntax and semantic of predicate calculus, existential and universal quantifiers and variables; first `order predicate calculus; matching of predicate calculus expressions: binding and unification of variables; inference rules: Sound, complete rules: modus ponens, modus tolens, and – elimination, and – introduction, universal instantiation, and resolution etc.
Resolution Procedure
Conversion of predicate calculus expressions into clause forms, horn clauses; resolution refutation and theorem proving.
Prolog Programming
Introduction to prolog as a declarative language as well as a procedural language, syntax of prolog; representation of facts, rules, and queries; predicates, clauses, goals; flow of control; variable binding, unification and backtracing, cut fail, efficiency.
Introduction to Expert Systems
A brief introduction to Artificial Intelligence (A1), its techniques and to expert systems (ES); various definitions of ES, components of ES:” knowledge acquisition and representation;
inference mechanism; forward and backward chaining; handling uncertainty; examples of expert systems and expert system shell/tools.
(Prerequisites CSG 12)
Introduction
Definition as a centralised storage of database; prevention of redundancy and inconsistency; data independence; data abstraction; data models; data definition and data manipulation language (DDL and DML); database manager, administrator, users; overall system structure: Indexing and hashing.
Entity Model – Relationship Model
Entities, relationships, entitysets, relationshipsets, attributes. mapping constraints, keys, ER diagrams, reduction of ER diagrams to tables, design of an ER database scheme.
Relational Model
Structure of relational database, relational algebra and calculus;
Normalisation and Relational Database Design
Relational database design and its pitfalls; normalisation (First second, and third) using functional dependencies and multivalued functional dependencies.
Query Processing
SQL, query – by – example, Quell; Query interpretation, equivalence of expressions
Recovery and Concurrency
Transaction recovery, system media recovery, concurrency problems, locking, timestamping.
Security and integrity
General considerations and violations, security specification in SQL; other aspects of security (encryption etc.).
Case Study
Construction and manipulation of database using dBASE III+, dBASE IV, ACCESS or ORACLE etc. and SQL or alike.
(Prerequisite CSG 14.)