The Department of Computer Science offers a range of courses leading to the award of BTech., MTech., and PhD degrees. Computer Science programme teaches the essential ideas of Computer Science emphasizing the core elements of computer programming, networking, and futuristic technology, demystifying and bringing patterns to life with practicals. Students of this programme are equipped with core courses in computing ranging from Introduction to problem solving, Web development, Computer Programming, Hardware and Software design, Human computer interacting and Data science. The graduates of this programme will understand the impact of computing and its application.
The overarching philosophy of the department is to develop national capacity in Computer Science, with the goal of transforming the country from a third world and developing nation into an advanced and developed nation. This transformation is envisioned through the development of highly skilled human capital in the field of Computer Science.
Over the years, the Department has produced approximately 2,000 graduates at both the undergraduate and postgraduate levels. These graduates have found employment in various sectors in Nigeria and abroad. Many of them have achieved significant milestones in their respective fields, particularly in Power Systems, Machines, Control, Telecommunication, Oil and Gas, Banking and Finance, Computer, and Manufacturing Industries. Some graduates have also pursued careers in academia.
Overall, the Department of Computer Science aims to provide a robust education and training to its students, equipping them with the necessary skills and knowledge to contribute to the advancement of the field and the development of the nation.
The Department of Computer Science was established in 2009. It was created from the defunct Department of Mathematics/Computer Science with the aim that it is the backbone of Information and Communication Technology (ICT). The Department offers a degree programme of Bachelor of Technology (B.Tech.), Master of Technology(M.Tech) and PhD degree in Computer Science. The Department of Computer Science is one of the departments in the School of Information and Communication Technology (SICT). The Department offers a unique educational opportunity for students to achieve excellence through vigorous classes, practical and participation in cutting edge ICT research.
Vision
To be a leading academic center of excellence in Computer Science Providing both software and hardware expertise and solutions that will shape the Information and Communication Technology landscapes both nationally and internationally
Mission
The Department of Computer Science will build and develop human capacity to high level through comprehensive educational programs, research in collaboration with industry and the government, dissemination through scholarly publications, and services to professional societies, the community, the state, the nation and the world at large.
Dr. AMINU, Enesi Femi is a Senior Lecturer in the Department of Computer Science at the Federal University of Technology, Minna, Niger State, Nigeria, and currently the Head of the Department. He has over fifteen years of experience in teaching and research. He has taught several courses which include Expert Systems, Artificial Intelligence, Advanced Database Systems, and Operating Systems at both undergraduate and postgraduate levels. He has published over 40 peer reviewed publications in reputable journals, international conferences, and book chapters. He obtained his Diploma, B.Sc. in Computer Science from University of Jos, Jos Plateau State, and MSc in Computer Science from Ahmadu Bello University, Zaria Kaduna State. He equally obtained his PhD in Computer Science from Federal University of Technology, Minna, Niger State. His research area is in Computer Science but with specific interests in Knowledge Representations (Ontology Design and Semantic Search), Reasoning Algorithm Design, AI and Machine Learning for Smart Agriculture. He was appointed Head of the Department in March, 2025.
(i) Undergraduate
Students seeking admission into the Undergraduate program of the Department must fulfill the following requirements:
UTME
The requirements are 5 O Level credits in Mathematics, Physics, English Language, and any other relevant Science subjects in mot more than two sittings as well as a high aggregate score in the Joint Admission and Matriculation Board (JAMB) Examination.
DIRECT ENTRY
These direct-entry requirements are in addition to the O Level grades stipulated in (UTME) above. Also, direct entry students must take and pass the General Studies courses offered at 100 and 200 Levels.
DURATION OF THE PROGRAMME
The program runs for a minimum of three (5) academic sessions (100 to 500 levels), and a maximum of seven and a half sessions for UTME students whilst DE students are required to spend a minimum of four (4) academic sessions (200 to 500 levels) and a maximum of six academic sessions.
(ii) Postgraduate
MASTERS
A candidate seeking admission into the postgraduate program is expected to satisfy the following conditions:
Five O’Level/SSSE/NECO credit passes in Mathematics, Physics, English, and any other two relevant science subjects in not more than two sittings, and any of the following:
(a) Bachelor of Technology (B.Tech.) degree of the Federal University of Technology, Minna, in computer science and related disciplines with at least a Second Class Lower Division; or
(b) B.Tech or B.Sc. degree in Computer Science or related disciplines from any other University recognized by the Senate of Federal University of Technology, Minna with at least a Second Class Lower Division; or
(c) Any of (a) and (b) above but with a Third Class degree and a minimum of three (3) years of relevant post-graduation experience may be considered, subject to performance in a qualifying examination; or
(d) Higher National Diploma (HND) in Computer Science or related disciplines and Postgraduate Diploma (PGD) in Computer Science of the Federal University of Technology, Minna with a minimum CGPA of 3.5.
DURATION OF THE PROGRAMME
The program runs for a minimum of three (3) semesters, comprising two semesters of coursework, followed by one semester of Graduate Project work. The maximum duration allowed for the program is six (6) semesters.
PhD
Applicants for the Ph.D program in Computer Science are expected to satisfy any of the following conditions:
(a) M.Tech. in Computer Science, or any related courses from the Federal University of Technology, Minna with a minimum CGPA of 3.5.
(b) M.Sc., M.Tech., M.Phil, or equivalent in Computer Science or related disciplines from any other university recognized by the Senate of Federal University of Technology, Minna with a minimum CGPA of 3.5 on a scale of 5.00. In exceptional cases, candidates with Master’s degrees in related fields may be considered for admission.
DURATION OF THE PROGRAMME
Full-time: Six semesters as minimum, ten semesters as maximum.
Part-time: Ten semesters minimum, fourteen semesters maximum
|
programme |
Male |
Female |
Total |
|
Postgraduate Diploma (PGD) |
4 |
1 |
5 |
|
Master of Technology (MTech) |
20 |
10 |
30 |
|
PhD |
10 |
5 |
15 |
UNDERGRADUATE COURSE CONTENTS
100 Level
GST 111: Communication in English (2 Units, C: LH-15; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Sound patterns in English Language (vowels and consonants, phonetics and phonology). English word classes (lexical and grammatical words, definitions, forms, functions, usages, collocations). Sentence in English (types: structural and functional, simple and complex). Grammar and Usage (tense, mood, modality and concord, aspects of language use in everyday life). Logical and Critical Thinking and Reasoning Methods (Logic and Syllogism, Inductive and Deductive Argument and Reasoning Methods, Analogy, Generalisation and Explanations). Ethical considerations, Copyright Rules and Infringements. Writing Activities: (Pre-writing, writing, post writing, editing and proofreading; brainstorming, outlining, paragraphing. Types of writing, Summary, Essays, Letter, Curriculum Vitae, Report writing, Note making, etc. Mechanics of writing). Comprehension Strategies: (Reading and types of Reading, Comprehension Skills, 3RsQ). Information and Communication Technology in modern language learning. Language skills for effective communication. Major word formation processes. Writing and reading comprehension strategies. Logical and critical reasoning for meaningful presentations. Art of public speaking and listening. Report writing.
GST 112: Nigerian Peoples and Culture (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Nigerian history, culture and art up to 1800 (Yoruba, Hausa and Igbo peoples and culture; peoples and culture of the ethnic minority groups). Nigeria under colonial rule (advent of colonial rule in Nigeria; Colonial administration of Nigeria). Evolution of Nigeria as a political unit (amalgamation of Nigeria in 1914; formation of political parties in Nigeria; Nationalist movement and struggle for independence). Nigeria and challenges of nation-building (military intervention in Nigerian politics; Nigerian Civil War). Concept of trade and economics of self- reliance (indigenous trade and market system; indigenous apprenticeship system among Nigeria people; trade, skill acquisition and self-reliance). Social justice and national development (law definition and classification). Judiciary and fundamental rights. Individual, norms and values (basic Nigeria norms and values, patterns of citizenship acquisition; citizenship and civic responsibilities; indigenous languages, usage and development; negative attitudes and conducts. Cultism, kidnapping and other related social vices). Re-orientation, moral and national values (The 3R’s – Reconstruction, Rehabilitation and Re-orientation) Re- orientation Strategies: Operation Feed the Nation (OFN), Green Revolution, Austerity Measures, War Against Indiscipline (WAI), War Against Indiscipline and Corruption (WAIC), Mass Mobilisation for Self-Reliance, Social Justice and Economic Recovery (MAMSER), National Orientation Agency (NOA). Current socio-political and cultural developments in Nigeria.
MTH 101: Elementary Mathematics I (Algebra and Trigonometry) (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Elementary set theory, subsets, union, intersection, complements, Venn diagrams. Real numbers; integers, rational and irrational numbers, mathematical induction, real sequences and series, theory of quadratic equations, binomial theorem. Complex numbers; algebra of complex numbers; the Argand diagram. De-Moivre’s theorem, nth roots of unity. Circular measure, trigonometric functions of angles of any magnitude, addition and factor formulae.
MTH 102: Elementary Mathematics II (Calculus) (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Function of a real variable, graphs, limits and idea of continuity. The derivative, as limit of rate of change. Techniques of differentiation. Extreme curve sketching; Integration as an inverse of differentiation. Methods of integration, Definite integrals. Application to areas, volumes.
PHY 101: General Physics I (Mechanics) (2 Units C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Space and time. Units and dimension, Vectors and Scalars, Differentiation of vectors. Displacement, velocity and acceleration. Kinematics. Newton laws of motion (Inertial frames, Impulse, force and action at a distance, momentum conservation). Relative motion. Application of Newtonian mechanics. Equations of motion. Conservation principles in physics, Conservative forces, conservation of linear momentum, Kinetic energy and work, Potential energy, System of particles, Centre of mass. Rotational motion. Torque, vector product, moment, rotation of coordinate axes and angular momentum. Polar coordinates. Conservation of angular momentum. Circular motion. Moments of inertia, gyroscopes and precession. Gravitation: Newton’s Law of Gravitation, Kepler’s laws of planetary motion, Gravitational potential energy, Escape velocity, Satellites motion and orbits.
PHY 102: General physics II (Electricity & magnetism) (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Forces in nature. Electrostatics (electric charge and its properties, methods of charging). Coulomb’s law and superposition. Electric field and potential. Gauss’s law. Capacitance. Electric dipoles. Energy in electric fields. Conductors and insulators. DC circuits (current, voltage and resistance. Ohm’s law. Resistor combinations. Analysis of DC circuits. Magnetic fields. Lorentz force. Biot-Savart and Ampère’s laws. Magnetic dipoles. Dielectrics. Energy in magnetic fields. Electromotive force. Electromagnetic induction. Self and mutual inductances. Faraday and Lenz’s laws. Step up and step down transformers. Maxwell’s equations. Electromagnetic oscillations and waves. AC voltages and currents applied to inductors, capacitors, and resistance.
PHY 107: General Practical Physics I (1 Unit, C: PH-45)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
This introductory course emphasizes quantitative measurements, the treatment of measurement errors and graphical analysis. A variety of experimental techniques should be employed. The experiments include studies of meters, the oscilloscope, mechanical systems, electrical and mechanical resonant systems, light, heat, viscosity etc., covered in PHY 101 and PHY 102. However, emphasis should be placed on the basic physical techniques for observation, measurements, data collection, analysis and deduction.
PHY 108: General Practical Physics II (1 Unit, C: PH-45)
Learning Outcomes
On completion, the student should be able to:
Course Contents
This practical course is a continuation of PHY 107 and is intended to be taught during the second semester of the 100 level to cover the practical aspect of the theoretical courses that have been covered with emphasis on quantitative measurements, the treatment of measurement errors, and graphical analysis. However, emphasis should be placed on the basic physical techniques for observation, measurements, data collection, analysis and deduction.
STA 111: Descriptive Statistics (3 Units, C: LH-45)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Permutation and combination. Concepts and principles of probability. Random variables. Probability and distribution functions. Basic distributions: Binomial, geometric, Poisson, normal and sampling distributions; exploratory data analysis.
COS 101: Introduction to Computing Sciences (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Brief history of computing. Description of the basic components of a computer/computing device. Input/Output devices and peripherals. Hardware, software and human ware. Diverse and growing computer/digital applications. Information processing and its roles in society. The Internet, its applications and its impact on the world today. The different areas/programs of the computing discipline. The job specializations for computing professionals. The future of computing.
Lab Work: Practical demonstration of the basic parts of a computer. Illustration of different operating systems of different computing devices including desktops, laptops, tablets, smart boards and smart phones. Demonstration of commonly used applications such as word processors, spreadsheets, presentation software and graphics. Illustration of input and output devices including printers, scanners, projectors and smartboards. Practical demonstration of the Internet and its various applications. Illustration of browsers and search engines. How to access online resources.
COS 102: Problem Solving (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Introduction to the core concepts of computing. Problems and problem-solving. The identification of problems and types of problems (routine problems and non-routine problems). Method of solving computing problems (introduction to algorithms and heuristics). Solvable and unsolvable problems. Solution techniques of solving problems (abstraction, analogy, brainstorming, trial and error, hypothesis testing, reduction, literal thinking, means- end analysis, method of focal object, morphological analysis, research, root cause analysis, proof, divide and conquer). General Problem-solving process. Solution formulation and design: flowchart, pseudocode, decision table, decision tree. Implementation, evaluation and refinement. Programming in C, Python etc.
Lab Work: Use of simple tools for algorithms and flowcharts; writing pseudocode; writing assignment statements, input-output statements and condition statements; demonstrating simple programs using any programming language (Visual Basic, Python, C)
FUTM-CPT 111: Probability for Computer Science (3 Units; C; LH-45, PH-0)
Learning Outcome
On completion of this course, students should be able to:
Course Content
Counting and Combinatorics. Counting. permutation. combination. bucking/group assignment. Discrete Probability. Random Variables. discrete. continuous and multiple random variables. Distribution. discrete. normal. conditional and beta distributions. Point Estimation. Definition of a point estimator. properties of point estimator. Point estimator vs interval estimator. Point estimates methods. Limit Theorems. Chebyshev’s theorem. the law of large numbers. the central limit theorem.
FUTM-CPT 121: Front-End Web Development (3 Units; C; LH-30, PH-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents.
Introduction to the Web: What is the Web and how does it works. The roles of web servers and web browsers. Tools needed for web development. Code editors (Notepad. Sublime Text. Dreamweaver. etc ). Browsers (Chrome. Mozilla. Microsoft Edge. etc.). Dealing with files (html files. asset files. css files javascript files). Setting up different directory to store related files. Planning a website: website content. fonts and colours. images. etc. HTML for page structuring and defining semantics: What is HTML. Anatomy of an HTML element. nesting elements within other elements. block vs inline elements. Void elements. HTML document structure.. Head section. HTML text tags. Creating hyperlinks. HTML sematic tags for website structure. Nav. Aside. Footer. Section. Embedding images. Video and content. HTML tables. HTML forms. Introduction to CSS: What is CSS. Adding CSS to documents. Inline and external CSS. CSS structure . CSS selectors. Cascade specifity and inheritance. The box model styling text and fonts. styling lists. Styling links. Web fonts.CSS layoit. normal flow. Flexbox. Grids. Floats positioning. Multiple columns layout. Responsive design. Introduction to media queries. Legacy layout methods.
Practical: Extensive practical session will involve using code editors like VScode to write HTML code to design website. and styling the website with CSS.
FUTM-CPT 122: Introduction to Computer Hardware Systems and Maintenance (3 Units; C; LH-30, PH-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents
Definitions and Computer Basics. Computer programs and their types. Introduction to different parts of computer system. Identification of Computer Parts. Introduction to software components of the Computer System. Assembling Computer System. Software Installation. Computer Maintenance. The components that require inspection during hardware maintenance procedures. Setting up or customizing a computer. Laptops maintenance. Virus and Malware Prevention and Removal. Computer troubleshooting and repair basics. Two categories of computer hardware preventative maintenance (System level maintenance and physical level maintenance). Corrective Maintenance. Primary Memory and Secondary Memory. Peripheral Hardware Use and Maintenance. Improving Slow Performance. Fixing Software and Hardware Problems. Troubleshooting and Repairing Printers.
200 Level
GST 212: Philosophy, Logic and Human Existence (2 Units, C: LH-30)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Scope of philosophy; notions, meanings, branches and problems of philosophy. Logic as an indispensable tool of philosophy. Elements of syllogism, symbolic logic the first nine rules of inference. Informal fallacies, laws of thought, nature of arguments. Valid and invalid arguments, logic of form and logic of content deduction, induction and inferences. Creative and critical thinking. Impact of philosophy on human existence. Philosophy and politics, philosophy and human conduct, philosophy and religion, philosophy and human values, philosophy and character molding, etc.
ENT 211: Entrepreneurship and Innovation (2 Units, C: LH-15; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Concept of Entrepreneurship (Entrepreneurship, Intrapreneurship/Corporate Entrepreneurship). Theories, Rationale and relevance of Entrepreneurship (Schumpeterian and other perspectives, risk-taking, necessity and opportunity-based entrepreneurship and creative destruction). Characteristics of Entrepreneurs (Opportunity seeker, risk taker, natural and nurtured, problem solver and change agent, innovator and creative thinker). Entrepreneurial thinking (Critical thinking, Reflective thinking, and Creative thinking). Innovation (Concept of innovation, Dimensions of innovation, Change and innovation, Knowledge and innovation). Enterprise formation, partnership and networking (Basics of business plan, Forms of business ownership, business registration and forming alliances and joint ventures). Contemporary Entrepreneurship Issues (knowledge, skills and technology, intellectual property, virtual office, networking). Entrepreneurship in Nigeria (Biography of inspirational entrepreneurs, youth and women entrepreneurship, Entrepreneurship support institutions, Youth enterprise networks and environmental and cultural barriers to entrepreneurship). Basic principles of e-commerce.
MTH 201: Mathematical Methods I (2 Units, C: LH-30)
Learning Outcomes
At the end of the course students should be able to:
Course Contents
Real-valued functions of a real variable. Review of differentiation and integration and their applications. Mean value theorem. Taylor series. Real-valued functions of two and three variables. Partial derivatives chain rule, extrema, Lagrangian multipliers. Increments, differentials and linear approximations. Evaluation of line, integrals. Multiple integrals.
MTH 202: Elementary Differential Equations (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Derivation of differential equations from primitive, geometry, physics, etc. order and degree of differential equation. Techniques for solving first and second order linear and non-linear equations. Solutions of systems of first order linear equations. Finite linear difference equations. Application to geometry and physics.
COS 201: Computer Programming I (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Introduction to computer programming. Functional programming; Declarative programming; Logic programming; Scripting languages. Introduction to object-orientation as a technique for modelling computation. Introduction of a typical object-oriented language, such as Java. Basic data types, variables, expressions, assignment statements and operators. Basic object- oriented concepts: abstraction; objects; classes; methods; parameter passing; encapsulation. Introduction to Strings and string processing; Simple I/O; control structures; Arrays; Simple recursive algorithms; inheritance; polymorphism.
Lab work: Programming assignments involving hands-on practice in the design and implementation of simple algorithms such as finding the average, standard deviation, searching and sorting. Practice in developing and tracing simple recursive algorithms. Developing programmes involving inheritance and polymorphism.
COS 202: Computer Programming II (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
This course is a continuation of CSC201. Review and coverage of advanced object-oriented programming – polymorphism, abstract classes and interfaces. Class hierarchies and programme organisation using packages/namespaces. Use of API – use of iterators/enumerators, List, Stack, Queue from API; Searching; sorting; Recursive algorithms; Event-driven programming: event-handling methods; event propagation; exception handling. Applications in Graphical User Interface (GUI) programming.
Lab work: Programming assignments leading to extensive practice in problem-solving and programme development with emphasis on object-orientation. Solving basic problems using static and dynamic data structures. Solving various searching and sorting algorithms using iterative and recursive approaches. GUI programming.
CSC 203: Discrete Structures (2 Units, C: LH-30)
Learning Outcomes
At the end of this course, the students will be able to:
Course Contents
Propositional Logic. Predicate Logic. Sets. Functions. Sequences and Summation. Proof Techniques. Mathematical induction. Inclusion-exclusion and Pigeonhole principles. Permutations and Combinations (with and without repetitions). The Binomial Theorem. Discrete Probability. Recurrence Relations.
IFT 211: Digital Logic Design (2 Units,C: LH-15; PH-45)
Learning Outcomes
At the end of this course, students will be able to:
Course Contents
Introduction to information representation and number systems. Boolean algebra and switching theory. Manipulation and minimization of completely and incompletely specified Boolean functions. Physical properties of gates: fan-in, fan-out, propagation delay, timing diagrams and tri-state drivers. Combinational circuits design using multiplexers, decoders, comparators and adders. Sequential circuit analysis and design, basic flip-flops, clocking and timing diagrams. Registers, counters, RAMs, ROMs, PLAs, PLDs, and FPGAs.
Lab Work: Simple combinational gates (AND, OR, NOT, NAND, NOR); Combinational circuits design using multiplexers, decoders, comparators and adders. Sequential circuit analysis and design using basic flip-flops (S-R, J-K, D, T flip-flops); Demonstration of registers, counters, RAMs, ROMs, PLAs, PLDs, and FPGAs.
IFT 212: Computer Architecture and Organization (2 Units, C: LH-15; PH-45)
Learning Outcomes
At the end of this course, students will be able to:
Course Contents
Principles of computer hardware and instruction set architecture. Internal CPU organization and implementation. Instruction format and types, memory, and I/O instructions. Dataflow, arithmetic, and flow control instructions, addressing modes, stack operations, and interrupts. Data path and control unit design. RTL, microprogramming and hardwired control. The practice of assembly language programming. Memory hierarchy. Cache memory, Virtual memory. Cache performance. Compiler support for cache performance. I/O organizations.
Lab work: Practical demonstration of the architecture of a typical computer. Illustration of different types of instructions and how they are executed. Simple Assembly Language programming. Demonstration of interrupts. Programming assignments to practice MS-DOS batch programming, Assembly Process, Debugging, Procedures, Keyboard input, Video Output, File and Disk I/O, and Data Structure. Demonstration of Reduced Instruction Set Computers. Illustration of parallel architectures and interconnection networks.
SEN 201: Introduction to Software Engineering (2 units, C: LH-30)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Software Engineering concepts and principles. Design, development and testing of software systems. Software processes: software lifecycle and process models. Process assessment models. Software process metrics. Life cycle of software system. Software requirements and specifications. Software design. Software architecture. Software metrics. Software quality and testing. Software architecture. Software validation. Software evolution: software maintenance; characteristics of maintainable software; re-engineering; legacy systems; software reuse. Software Engineering and its place as a computing discipline. Software project management: team management; project scheduling; software measurement and estimation techniques; risk analysis; software quality assurance; software configuration management. Software Engineering and law.
FUTM-CPT 211: Back-End Web Development (2 Units; C; LH-15, PH-45)
Learning Outcomes
On completion of the course, student should be able to:
Course Contents
Review of HTML and CSS. Styling website using predefined CSS frameworks such as Bootstrap 5. Creating dynamic website using JavaScript: Variables. Expression. Control structures. String methods. Arrays. Functions. Events and event handling. Client side form validation with JavaScript. Sending form data. POST and GET methods. JavaScript object and class. Working with JSON data. Introduction to Web API. API for manipulating document. Fetching data from server using Fetch API and XMLHttp Request. Drawing graphics. Video and audio API. Client side storage API. Asynchronous JavaScript: synchronous and asynchronous programming. Using promises. Promise-based APIs. Using Web Workers. Introduction to client-side JavaScript frameworks. React. Ember. Vue. Svelte. Angular. Overview of client-side web development tools. Safety net tools. Transformation tools and post-deployment tools. Cross-browser testing.
Practical: Intensive practical sessions building dynamic and interactive client side web application with JavaScript. Develop graphic and animation with JavaScript, Use JavaScript for form validation etc. Create sites that with CSS Bootstrap framework.
FUTM-CPT 212: Inferential Statistics for Computer Science (2 Units; C; LH-15, PH-45)
Learning Outcome
At the end of this course, students should be able to:
Course Content
Population and Sample. Inferential Statistics. Probability. basic concepts. unconditional and conditional probabilities. Probability Distributions. normal distribution. chi square distribution. binomial distribution. and Poisson distribution. Confidence Interval. Hypothesis Testing. p-value. z-test. t-test. Chi-square test. ANOVA test. Use of SPSS to inferential statistics.
FUTM-CPT 221: Numerical Computation for Computer Science (2 Units; C; LH-15, P-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents
Solving Systems of Linear Equations: Direct method for solving linear systems. Testing the existence of the solution. Matrix factorization techniques. Iterative method and Ill-Conditioning and Regularization Techniques in Solutions of Linear Systems. Solving a System of Nonlinear Equations- Solving a Single Nonlinear Equation and Solving a System of Nonlinear Equations. Interpolation and Solutions of Differential Equations. Lagrange interpolation. Newton’s interpolation. MATLAB’s interpolation tools, and data interpolation in python. Numerical Differentiation – Approximating Derivatives with Finite Differences. Numerical Integration: Trapezoid method. Simpson’s method, Newton-Cotes Methods, and The Gauss Integration Method. Solving Systems of Nonlinear Ordinary Differential Equations- Runge-Kutta Methods. Explicit Runge-Kutta Methods. Implicit Runge-Kutta Methods, MATLAB ODE Solvers, and Python Solvers for IVPs. Nonstandard Finite Difference Methods for Solving ODEs- Deficiencies with Standard Finite Difference Schemes, Construction Rules of Nonstandard Finite Difference Schemes, Exact Finite Difference Schemes, and Other Nonstandard Finite Difference Schemes. Solving Optimization Problems- Linear and Quadratic Programming. Solving Optimization Problems- Nonlinear Programming. Solving Optimal Control Problems- The First-Order Optimality Conditions and Existence of Optimal Control. Necessary Conditions of the Discretized System. Numerical Solution of Optimal Control, and Solving Optimal Control Problems Using Indirect Methods.
FUTM-CPT 222: Server-Side Web Development (3 Units; C; LH-30, PH-45)
Learning Outcomes
On completion of the course, student should be able to:
Course Content:
Review of HTML and CSS and JavaScript. Fundamental concepts of server-side programming. Overview of server-side scripting languages. PHP, Python, Ruby, C#, and JavaScript (NodeJS), ASP.net, JSP, Servlets. Basic PHP grammar and syntax. Variables,expression,controlmstructures. Arrays and string. PHP objects. Communication between server-side programs and client-side programs. Session management. Overview of SQL. Database programming with PHP and MySQL. SQL Create, Retrieve, Update, Delete statements. SQL querying. Accessing external web services. Developing a complete web application. Web applications security. Preventing SQL injection attacks. cross-site scripting (XSS), Cross-Site Request Forgery (CSRF). File inclusion. Directory traversal.
Practical will involve installation of webserver such as Apache webserver, MySQL database server to process server side scripts and store the database respectively. A full-fledged web application should be developed illustrating all the key principles taught in the course content.
FUTM-CPT 223: System Concept and Design (3 Units; C; L-30, P-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents
Introduction to system concept. System Development Life Cycle (SDLC), Analysis – Fact gathering Techniques. Data flow diagrams. Process description. Data modelling. System Design – Structure Charts, form designs, security automated tools for design. The four fundamental phases of the SDLC and the steps involved. System Development Methodologies. The three different classes of system development methodologies. Typical System Analyst Roles and skills. Business Analyst, Systems Analyst, Change Management Analyst and Project Manager. The Unified Modelling Language (UML) -Models and use case diagrams. Activity Diagrams and State Chat Diagrams. Sequence and Collaboration Diagram, Class Diagrams. Component Diagrams. Customers, organization types, project management, teams and team dynamics. Computer Assisted Software Engineering (CASE) tools. Documentation. Importance of CASE tools.
Lab Work: Analysis and design assignments leading to extensive practice in the use of UML and CASE tools.
300 Level
GST 312: Peace and Conflict Resolution (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Concepts of Peace, Conflict and Security in a multi-ethnic nation. Types and Theories of Conflicts: Ethnic, Religious, Economic, Geopolitical Conflicts; Structural Conflict Theory, Realist Theory of Conflict, Frustration-Aggression Conflict Theory. Root causes of Conflict and Violence in Africa: Indigene and Settlers Phenomenon; Boundaries/border disputes; Political disputes; Ethnic disputes and rivalries; Economic Inequalities; Social disputes; Nationalist Movements and Agitations; Selected Conflict Case Studies – Tiv-Junkun; Zango Kartaf, Chieftaincy and Land disputes, etc. Peace Building, Management of Conflicts and Security: Peace & Human Development. Approaches to Peace & Conflict Management (Religious, Government, Community Leaders, etc.). Elements of Peace Studies and Conflict Resolution: Conflict dynamics assessment Scales: Constructive & Destructive. Justice and Legal framework: Concepts of Social Justice; The Nigeria Legal System. Insurgency and Terrorism. Peace Mediation and Peace Keeping. Peace & Security Council (International, National and Local levels) Agents of Conflict resolution – Conventions, Treaties Community Policing: Evolution and Imperatives. Alternative Dispute Resolution, ADR. Dialogue b). Arbitration, c). Negotiation d). Collaboration, etc. Roles of International Organisations in Conflict Resolution. (a). The United Nations, UN and its Conflict Resolution Organs. (b). The African Union & Peace Security Council (c). ECOWAS in Peace Keeping. Media and Traditional Institutions in Peace. Building. Managing Post-Conflict Situations/Crisis: Refugees. Internally Displaced Persons, IDPs. The role of NGOs in Post-Conflict Situations/Crisis.
ENT 312: Venture Creation (2 Units, C: LH-15; PH-45)
Learning Outcomes
At the end of this course, students, through case study and practical approaches, should be
able to:
Course Contents
Opportunity Identification (Sources of business opportunities in Nigeria, Environmental scanning, Demand and supply gap/unmet needs/market gaps/market research, Unutilised resources, Social and climate conditions, and technology adoption gap). New business development (business planning, market research). Entrepreneurial finance (venture capital, equity finance, microfinance, personal savings, small business investment organisations, and business plan competition). Entrepreneurial marketing and e-commerce (Principles of marketing, customer acquisition & retention, B2B, C2C and B2C models of e-commerce, first mover advantage, e-commerce business models and successful e-commerce companies,). Small business management/family business: Leadership & Management, basic bookkeeping, nature of family business and family business growth model. Negotiation and business communication (Strategy and tactics of negotiation/bargaining, traditional and modern business communication methods). Opportunity discovery demonstrations (business idea generation presentations, business idea contest, brainstorming sessions, idea pitching). Technological solutions (the concept of market/customer solution, customer solution, and emerging technologies, business applications of new technologies- Artificial Intelligence (AI), Virtual/Mixed Reality (VR), Internet of Things (IoT), Blockchain, Cloud Computing, renewable energy, etc. digital business and e-commerce strategies).
CSC 301: Data Structures (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Primitive types, Arrays, Records Strings and String processing. Data representation in memory, Stack and Heap allocation, Queues, Trees. Implementation strategies for stack, queues, trees. Run time storage management; Pointers and References, linked structures.
Lab work: Writing C+/C++ functions to perform practical exercises and implement using the algorithms on arrays, records, string processing, queues, trees, pointers and linked structures.
CSC 308: Operating System (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Fundamentals of operating systems design and implementation. History and evolution of operating systems. Types of operating systems. Operating system structures. Process management: processes, threads, CPU scheduling, process synchronisation. Memory management and virtual memory. File systems; I/O systems; Security and protection; Distributed systems; Case studies.
Lab work: Practical hands-on engagement to facilitate understanding of the material taught in the course. All the process, memory, file and directory management issues will be demonstrated under the LINUX operating system. Also UNIX commands will be briefly discussed. Alternatively, hands-on exposure may be through the use of operating systems developed for teaching, like TempOS, Nachos, Xinu or MiniOS. Another possibility is through programming exercises that implement and simulate algorithms taught. Simulation of CPU scheduling algorithms, producer-consumer problem, memory allocation algorithms, file organisation techniques, deadlock algorithms and disk scheduling algorithms.
CSC 309: Artificial Intelligence (2 Units, C: LH-15; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Overview of Artificial Intelligence. History of AI. Goals of AI. AI Technique. Types of AI. Branches and applications of AI. Advantages and Disadvantages. Introduction to Intelligent Agents. Agent Performance, Examples of Agents, Agent Faculties, Rationality, Agent Environment. Agent Architectures. Search. General Classes of AI Search Algorithm Problems. Problem Solving by Search. Types of AI Search Techniques and Strategies. Introduction to the types of problems and techniques in AI. Problem-Solving methods. Major structures used in AI programmes. Knowledge Representation. KR and Reasoning Challenges. KR Languages. Knowledge representation techniques such as predicate logic, non-monotonic logic, and probabilistic reasoning. Semantic Network – types of relationships, semantic network inheritance, types and components. Introduction to Frames. Natural Language Processing (NLP). Introduction to natural language understanding and various syntactic and semantic structures. Introduction to Expert Systems – characteristics, components, types, requirements, technology, development. Programming Languages for AI. Introduction to computer image recognition.
Lab work: Group practical in (i) Turing test practical – Students can act out their own version of the Turing test (ii) Facial recognition practical to aid in teaching students how machine learning works with students simulating a facial recognition algorithm. Practical applications of NLP in groups – (i) Question Answering focuses on building systems that automatically answer the questions asked by humans in a natural language (ii) Spam detection application for detecting unwanted e-mails getting to a user’s inbox (iii) Sentiment analysis/opinion mining should be used on the web to analyse the attitude, behaviour, and emotional state of the sender, implemented through a combination of NLP and statistics (iv) Practical exercise of machine translation used to translate text or speech from one natural language to another natural language such as the Google Translator (v) Developing a model to provide word processor software for the spelling correction (vi) Developing a model for speech recognition for converting spoken words into text (vii) Implementing a Chatbot to provide the staff/student’s chat services. OR
Group Practical exercise on agents and its environment using simulation of a colony of ants foraging for food; model simulating a message between agents; model simulating the flocking behaviour of birds; model to apply standard search algorithm to the classic search problem of missionaries and cannibals, and how to use communicating agents for searching networks.
Some computer AI animation exercises for any branch of AI. Practical exercise on simple robots coupling and programming. Group project of building a lawn robot for trimming grasses, or any simple design and implementation of robotics.
CSC 322: Computer Science Innovation and New Technologies (2 Units, C: LH-30)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Fundamental concepts of innovation and business ideas in general. Product development. Business leadership. Digital marketing. Entrepreneurial opportunities in IT. Legal issues and Business ethics. New venture creation process. Business feasibility planning. Market research. Business strategy. Business models and Business plans. Technical presentations. Report on a successful entrepreneurial outfit.
CYB 201: Introduction to Cybersecurity and Strategy (2 Units, C: LH-30)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Basic concepts: cyber, security, confidentiality, integrity, availability, authentication, access control, non-repudiation and fault-tolerant methodologies for implementing security. Security policies, best current practices, testing security, and incident response, Risk management, disaster recovery and access control. Basic cryptography and software application vulnerabilities. Evolution of cyber-attacks. Operating system protection mechanisms, intrusion detection systems, basic formal models of security, cryptography, steganography, network and distributed system security, denial of service (and other) attack strategies, worms, viruses, transfer of funds/value across networks, electronic voting, secure applications. Cybersecurity policy and guidelines. Government regulation of information technology. Main actors of cyberspace and cyber operations. Impact of cybersecurity on civil and military institutions, privacy, business and government applications; examination of the dimensions of networks, protocols, operating systems, and associated applications. Methods and motives of cybersecurity incident perpetrators, and the countermeasures employed by organisations and agencies to prevent and detect those incidences. Ethical obligations of security professionals. Trends and development in cybersecurity. Software application vulnerabilities. Evolution of cybersecurity and national security strategies, requirements to the typologies of cyber-attacks that require policy tools and domestic response. Cybersecurity strategies evolving in the face of big risk. Role of standards and frameworks.
DTS 304: Data Management I (3 Units, C: LH-30; PH-45)
Learning Outcomes
At the end of the course the students should be able to:
Course Contents
Information Management Concepts. Information storage & retrieval. Information management applications. Information capture and representation. Analysis and indexing – search, retrieval, information privacy. Integrity and security. Scalability, Efficiency and Effectiveness. Introduction to database systems. Components of database systems. DBMS functions. Database architecture and data independence. Database query language. Conceptual models. Relational data models. Semi-structured data models. Relational theory and languages. Database Design. Database security and integrity. Introduction to query processing and optimisation. Introduction to concurrency and recovery.
Lab work: Practical exercise on information representation, capture, storage and retrieval. Learn how to analyse data and index for easy searching and indexing. Practical on creating database files and models. How to create and use various database designs. How to query the created database. Methods of concurrency and recovery in database. Learn how to secure the database.
ICT 305: Data Communication Systems and Network (3 Units C: LH-30; PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Types and sources of data. Simple communications network. Transmission definitions, one way transmission, half duplex transmission, transmission codes, transmission modes, parallel transmission, serial transmission, bit synchronisation, character synchronisation, synchronous transmission, asynchronous transmission, efficiency of transmission. Introduction to network protocol. Seven Layer ISO-OSI standard protocols and network architecture. Transport protocols, session services protocols, and other protocols. Institute of Electrical and Electronics Engineering 802 standards. Error control and Data Compression: Forward Error Control; error detection methods; parity checking; linear block codes, cyclic redundancy checking; feedback error control, data compression, Huffman coding and dynamic Huffman coding. Local Area Networks: medium access control techniques – Ethernet, token bus and token ring; fibre distributed data interface, metropolitan area network. Peer-to-peer, Client Server. Client- Server Requirements: GUI design standards, interface independence, platform independence, transaction processing, connectivity, reliability, backup, and recovery mechanisms. Features and benefits of major recovery mechanisms. Network OS: (e.g., Novell NetWare, UNIX/LINUX, OS/2 & Windows NT). INTERNET: Definition, architecture, services, internet addressing. Internet protocol, IPv4, IPv6.
Lab Work: Demonstration of simple communications networks. Illustration of applications at the various levels of the OSI model. Demonstration of different types of Local Area Networks (LANs). Illustration of Metropolitan Area Networks. Illustration of Error Detection and Error Correction techniques. Demonstration of Network Operating Systems.
FUTM-CPT 311: Programming Language Translation and Compiler Design (3 units; C; LH-45, PH-0)
Learning Outcomes
On completion of the course, students should be able to:
Course Content
Introduction to programming language translation and compiler design. Compilers, assemblers and interpreters. Structure and functional aspects of a typical compiler. Syntax semantics and functional relationship between lexical analysis, expression, analysis and code generation. Internal form of course programme. Error detection and recovery. The parsing problem and the scanner. Grammars and languages. Recognizers, Top-down and bottom-up language. Run-time storage Organization. The use of display in run-time storage Organization. The use of display in run time storage. Allocation LR grammars and analyzers. Construction of LR table. Organization of symbol tablets. Allocation of storage to run-time variables. Code generation and Optimization/Translator with systems.
FUTM-CPT 312: Object-Oriented Analysis, Design and Implementation (2 Units; C; LH-15, PH-45)
Learning Outcomes
On completion of the course, student should be able to :
Course Content
Object Oriented Fundamentals: Definition of Object Oriented Analysis and Design. Defining Models. Requirement Process. Object Oriented Development Cycle. Overview of the Unified Modeling Language. UML Fundamentals and Notations. Object Oriented Analysis: Building Conceptual Model. Adding Associations and Attributes. Representation of System Behavior. Object Oriented Design: Analysis to Design. Describing and Elaborating Use Cases. Collaboration Diagram. Objects and Patterns. Determining Visibility. Class Diagram. Implementation: Programming and Development Process. Mapping Design to Code. Creating Class Definitions from Design Class Diagrams. Creating Methods from Collaboration Diagram. Updating Class Definitions. Classes in Code. Exception and Error Handling.
Practical:
Laboratory Exercise will include handling a object oriented design and modelling activity in a ACSE Environment. UML pattern design and modelling will be taken up with the help of UML Software and implement the design using object oriented language like Java or C++.
FUTM-CPT 321: Human Computer Interaction (3 Units; C; LH-30, PH-45)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Foundations of HCI. Concept underlying the design of HCI. Principles of GUI. GUI toolkits. System design methods. User conceptual models and interface metaphors. Human cognitive and physical ergonomics. Human-centred software evaluation and development. GUI design and programming.
FUTM-CPT 322: Theory of Computing (3 Units; C: L-30, PH-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Content
Introduction to theory of computing. Finite automata, Regular languages and Regular expressions. Deterministic finite automata and nondeterministic finite automata. Regular expressions and FA-recognisable languages. Non-regular languages. Algorithms that answer questions about FAs and regular expressions. Computability theory. Turin machines, and nondeterministic Turing machines. Undecidability, PCP, counter and stack machines. Reducibility and recursion theorem. Complexity Theory. Time complexity, nondeterministic time complexity, P and NP. NP-completeness III. Poly-time reductions and Cook-Levin theorem. NP-completeness II and space complexity III. Probabilistic complexity. Probabilistic complexity. Interactive proofs.
FUTM-CPT 323: Mobile Application Development for the Android Platform (3 Units; C; LH-30, PH-45)
Learning Outcomes
On completion of this course, student should be able to:
Course Content
Introduction to Android development. Overview of the Android operating system. .The Android SDK. and the Android development environment. Programming fundamentals. Overview of programming concepts and syntax. such as variables. functions. and data structures. with a focus on Java and Kotlin.. Android app architecture. Introduction to the components and architecture involved in building an Android app. including activities. services. broadcast receivers. and content providers. User interface design. Overview of user interface (UI) design for Android apps including layout managers. UI widgets. and resources. Use of Jetpack compose for UI design. Android jetpack libraries. Data storage. Overview of data storage options for Android apps. including SQLite databases. shared preferences. and files. Networking. Overview of networking concepts and implementation in Android. including web services and APIs Advanced topics in Android development. Animation .Multimedia. Sensors. Maps and location services. Testing and deployment. Overview of testing and deployment of Android apps Use of tools and services for testing. debugging. and publishing Android apps on the Google Play Store.
Practical: Demonstration of a Simple Mobile Application. Design and Development of interactive mobile applications. Demonstration of multiplatform mobile application development. Development of Android applications including UI design and data storage design. Demonstration of advanced mobile application design. Illustration of metrics for measuring the performance of mobile applications.
400 Level
COS 409: Research Methodology and Technical Report Writing (3 Units, C: LH-45)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Foundations of Research. Types of Research. Research Approaches. Significance of Research. Research Methods versus Methodology. Research Process. Criteria and Strategy for Good Research. Problems Encountered by Researchers in Nigeria. Principles of Scientific Research. Scientific investigation. Problem formulation. Definition and technique of the Research Problem. Selection of Appropriate Method for Data Collection- Primary Data and Secondary Data. Guidelines for Constructing Questionnaire/Schedule. Guidelines for Successful Interviewing. Difference between Survey and Experiment. Eloping Research Proposal and Research Plan. Formulation of working hypothesis and Testing. Literature review. Procedure for reviewing related relevant studies and referencing cited works. Types of Reports. Technical Report Writing. Layout and mechanics of writing a Research Report. Standard Techniques for Research Documentation. Sampling Design. Different Types of Sample Designs. Steps in Sampling Design. Criteria of Selecting a Sampling Procedure. Methods of analysis. Processing and Analysis of Data Elements/Types of Analysis. Interpretation and Presentation of results. How to prepare References and Bibliography.
CSC 401: Algorithms and Complexity Analysis (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Basic algorithmic analysis. Asymptotic analysis of Upper and average complexity bounds. Standard Complexity Classes. Time and space trade-offs in analysis recursive algorithms. Algorithmic Strategies. Fundamental computing algorithms. Numerical algorithms. Sequential and Binary search algorithms. Sorting algorithms, Binary Search trees. Hash tables. Graphs and their representation.
CSC 402: Ethics and Legal Issues in Computer Science (2 Units, C: LH-30)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
Addresses social, ethical, legal and managerial issues in the application of Computer Science to the information technology industry. Through seminars and case studies, human issues confronting Computer Science graduates will be addressed. Topics include managerial and personal ethics, computer security, privacy, software reliability, personal responsibility for the quality of work, intellectual property, environment and health concerns, and fairness in the workplace.
INS 401: Project Management (2 Units, C: LH-30)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
Introduction to Project Management. The Project Management Lifecycle: Project management and systems development or acquisition. The project management context. Technology and techniques to support the project management lifecycle, and Project management processes. Managing Project Teams: Project team planning, motivating team members, Leadership, power and conflict in project teams, and managing global project teams. Managing project communication and enhancing team communication. Project Initiation and Planning. Managing Project Scope: Project initiation, how organisations choose projects, Activities, and developing the project charter. Managing Project Scheduling: Common problems in project scheduling, and Techniques for project scheduling. Managing Project Resources: Types of resources (human, capital, time), and Techniques for managing resources. Project quality and tools to manage project quality. Managing project risk and tools for managing project risk. Managing Project Procurement: Alternatives to systems development, External acquisition, Outsourcing-domestic and offshore. Steps in the procurement process, and managing the procurement process. Project Execution, Control and Closure: Managing project execution, monitoring progress and managing change. Documentation and communication, and Common problems in project execution. Managing Project Control and Closure: Obtaining information, Cost control, Change control, administrative closure, Personnel closure, Contractual closure and Project auditing.
FUTM-CPT 411: Introduction to Machine Learning for Data Mining (3 Units; C; L-30, P-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents
Overview of data mining. Data pre-processing descriptive data summarization. Data cleaning. Data integration and transformation. Data reduction. Data discretization and concept hierarchy generation. Data preparation. Overview. Cleaning the data. Removing variables. Data transformation. Segmentation. Table and graphs. Tables. Data tables. Contingency tables. Graphs. Frequency. Polygram and histograms. Scatter plots. Box plots. Multiple graphs. Prediction – classification. Regression 1. Building and applying a prediction model. Prediction – classification. Regression 2. Predicting using decision trees. Naive Bayes estimation and Bayesian networks. Posterior odds ratio. Balancing the data. Prediction. Classification. Regression 3. Naive Bayes classification. numeric predictors analysis using Naive Bayes. Bayesian belief networks. Cloth purchase example. using the Bayesian Network to find probabilities. Prediction. Classification. Regression 4. Genetic Algorithm Introduction. Basic framework of a ga. Simple example of a genetic algorithm. Cross over. Multipoint crossover. Uniform crossover. Analysis using genetic algorithm. Association rules and cluster analysis. Basic Concepts. Efficient and Scalable Frequent Item. Set Mining Methods. Mining. Various Kinds of Association Rules. Cluster Analysis/ Types of Data in Cluster Analysis. A Categorization of Major Clustering Methods. Different Clustering Methods. Classification and Prediction: Classification. Issues Regarding Classification and Prediction. Different classifications. Classification by decision tree induction. Bayesian classification. Rule based classification. Classification by back propagation. Prediction. Accuracy and error measures. Evaluating the accuracy of a classifier or predictor. Ensemble methods. Model selection. Various minings. Mining data streams. Mining time series data. Data graph mining.social network analysis. Multi.relational data mining. Multimedia mining and applications: multidimensional analysis and descriptive mining of complex data objects. Spatial data mining. Multimedia data mining. Text mining. Mining the www.applications and trends in data mining. Overview of neural networks: basic architecture of neural networks and neural computing.
FUTM-CPT 412: Advanced Visual Programming with VB.net (3 Units, C; LH-30, PH-45)
Learning Outcomes
At the end of this course Students should be able to:
Course contents
Introduction: Windows concepts. Objects and events. define design and development process. identify elements of ID. Introduce More Controls and Their Properties. Variables. Constants. and Calculations. Decisions and Conditions. Menus. Procedures and Functions. The .NET framework: Visual Basic 2010 Productivity features. Exceptions and Events: designing and consuming events; structured exception handling. Data manipulation with ADO.NET. Applications. Control Statements. Arrays. lasses. Objects. Methods and Instance Variables. . Use the Object Browser to navigate the .NET Framework Class Library. Declaring Methods with Parameters. Instance Variables and Properties. Value Types and Reference Shared/Class Methods vs. Instance Methods. Subroutine vs. Function Methods. Declaring and Using Methods. Passing Arguments: Pass-by-Value vs. Pass-by-Reference. Method Overloading. Optional parameters. Recursion. Scope. Constructors. Composition. Inheritance. Forms and Controls: Labels. Textboxes. Buttons. Checkboxes. Dialog Boxes. Combo Boxes. Radio Buttons.
CSC 499: SIWES I & II (6 Units, C: PH-270)
Learning Outcomes
At the end of this training, students should be able to:
Course Contents
Students are attached to private and public organisations for a period of three months during the second-year session long break with a view to making them acquire practical experience and to the extent possible, develop skills in all areas of Computer Science. Students are supervised during the training period and shall be expected to keep records designed for the purpose of monitoring their performance. They are also expected to submit a report on the experience gained and defend their reports.
FUTM-CPT 511: Introduction to Cloud Computing (3 Units; C; LH-30, PH-45)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents
Cloud computing overview. Cloud computing deployment models. Security and privacy of cloud computing. Cloud computing planning. Cloud computing technologies. Cloud computing architecture. Cloud computing infrastructure. Public cloud model. Private cloud model. Hybrid cloud model. Community cloud model. Infrastructure-as-a-Service (IaaS). Platform-as-a-Service (PaaS). Software-as-a-Service (SaaS). Identity-as-a-Service. Network-as-a-Service (NaaS). Cloud management.
FUTM-CPT 512: Operations Research (3 Units; C; LH-45, PH-0)
Learning Outcome
At the end of this course, students should be able to:
Course Content
Introduction to Operations Research; elementary concepts and objectives of operations research. applications of operations research in decision making. Linear Programming Problem; mathematical formulation of the linear programming problem and its graphical solution. simplex method. Transportation Problems; definition and mathematical formulation. initial basic feasible solution. optimal solution. Assignment Problem; introduction and mathematical formulation. solution of assignment problems. Inventory Control; introduction and general notations. economic lot size models with known demand. Replacement Theory; introduction and elementary concepts. replacement of items deteriorating with time. Sequencing Problem; introduction and general notations. solution of a sequencing problem. Queuing Theory; introduction and classification of queues. solution of queuing models. Project Planning and Network Analysis; introduction and basic definitions in network analysis. rules for drawing network analysis. critical path method (CPM). project evaluation and review technique (PERT).
FUTM-CPT 513: Introduction to Applied Neural Network and Deep Learning (3 Units; C; LH-15, PH-45)
Learning Outcomes
On completion of the course, student should be able to:
Course Contents
Learning neural networks for Classification and Regression. Backpropagation Algorithm. Gradient Descent Optimization Techniques and Its variations. Deep Neural Network. Convolutional Neural Network. Convolution operation. Pooling layer. Max-pooling. Recurrent Neural Network.Basic RÑN. Long term short memory (LSTM). Gated recurrent network (GRU). Generative Model. Auto encoders. Generative Adversarial Network (GAN). Restricted Boltzmann Machine RBM Deep Reinforcement Learning. Application of Deep Learning to Social Good: Case studies of societal problems that DL methods can be applied to, Introduction to machine learning problem framing, sourcing data, AI ethics.
Practical: Python based deep learning libraries such Keras and Tensorflow lwill be used for practical implementation and testing of the various methods taught in the course. Student will be given term paper to identify and solve a societal problem using the methods studied in the course.
FUTM-CPT 514: Introduction to Natural Language Processing (3 Units; C; LH-15, PH-45)
Learning Outcomes
On completion of this course student should be able to:
Course Contents
Language Models. The bag-of-words model. N-gram word models. Other n-gram models. Smoothing n-gram models. Word representations. Part-of-speech (POS) tagging. Comparing language models. Grammar – The lexicon of E0. Parsing .Dependency parsing. Learning a parser from examples. Augmented Grammar. Semantic interpretation. Learning semantic grammars. Complications of Real Natural Language .Natural Language Tasks. Deep Learning for Natural Language Processing. Word Embedding. Recurrent Neural Networks for NLP. Language models with recurrent neural networks. Classification with recurrent neural networks. LSTMs for NLP tasks. Sequence-to-Sequence Models. Attention. Decoding. The Transformer Architecture. Self-attention. From self-attention to transformer. Pretraining and Transfer Learning. Pretrained word embedding. Pretrained contextual representations. Masked language models.
Practical: Python based deep learning libraries such Keras and Tensor flow will be used for practical implementation and testing of the various methods taught in the course. Student will be given term paper to identify and solve a societal problem using the methods studied in the course.
FUTM-CPT 515: Advanced Database Systems (3 Units; C; LH-30, PH-45)
Learning Outcomes
Upon completion of this course, students are expected to:
Course contents
Relational Data Models: Relational Constraints and Relational Algebra. Structured Query Language Relational Database Standard. Case Studies: Mysql. Data Warehousing: Introduction. What is Data Warehousing. Data Warehousing Concepts. Methodology for Data Warehousing. Issues in Data Warehousing. Benefits of Data Warehousing. Data Warehousing Building Blocks: Defining Features. Data Warehouse and Data Mart. Overview of Components. Matadata: Abstraction. Use of Metadata in Data Warehousing. Tools for Metadata. Data Design and Data Preparation: ETL Overview. Data Extraction. Data Transformation. And Data Loading. Data Quality: Why is Data Quality Critical. Challenges. Tools OLAP In The Data Warehousing: Demand for OLAP – Major Features and Functions (Drill-Down. Rollup. Slice And Dice). OLAP Models – OLAP Tools: Web OLAP Approaches. OLAP Engine Design.
FUTM-CPT 521: Big Data Analytics (3 Units; C; LH-30, PH-45)
Learning Outcomes
On completion of this course, student should be able to:
Course Contents
Overview of Big Data. State-of-the-art big data computing paradigms (Map-Reduce). Big data programming tools (e.g., Hadoop, MongoDB, Spark, etc.). Big data extraction and integration. Big data storage. Scalable big data indexing. Large-scale graph processing techniques. Big data stream techniques and algorithms. Large-scale probabilistic data analysis. Big Data Analytics with R. Big data privacy. Big data visualizations. Problems in real applications of big spatial-temporal data (e.g., geographical databases) Problems in real applications of big financial data (e.g., time-series data). Problems in real applications of big multimedia data (e.g., audios/videos). Problems in real applications of big medical/health data. Problems in real applications of big social media data. Problems in real applications of big scientific data (e.g., bioinformatics data).
Practical: Practice on cluster computing programming based on Map-Reduce pattern such as Hadoop MapReduce, Apache Spark and Flink. Analysing Twitter Data using Spark and MongoDB.Build machine learning dashboards using R and R Shiny, create web-based apps using NoSQL databases.
FUTM-CPT 522: Computer System Performance Evaluation (3 Units; C; LH-45,)
Learning Outcomes
On completion of the course, students should be able to:
Course Contents
Basic Concepts of system performance evaluation. Goals of Performance Evaluation. Techniques of System performance evaluation. Metrics of Performance. Attributes of Good Performance Metrics. Common Processor and System performance Metrics. Speedup and Relative Change. Measurement Techniques. Measurement strategies. Monitors. Statistics for Performance Analysis. Basic Probability and Statistics Concepts. Types of averages and Quantifying Variability. Benchmarking. Types of Benchmarks and Benchmark Strategies, Examples of Benchmark Programs. Types of Workloads and Workload Selection. Aggregating performance metrics over a benchmark suite. Aggregating Ratio Metrics and Aggregating Normalized Values. Statistical Sampling for Processor and Cache Simulation. Sampling for caches. Trace sampling for processors.
FUTM-CPT 524: Introduction to Computer Vision (3 Units; C; LH-30; PH-45)
Learning Outcomes
By the end of the course student should be able to:
list and explain the fundamentals of computer vision, including image formation, feature extraction, and object recognition.
implement and use computer vision algorithms and techniques, including deep learning and convolutional neural networks.
list and use at least 2 computer vision libraries and tools, such as OpenCV and TensorFlow.
apply computer vision techniques to real-world problems, such as image and video analysis, object detection and tracking, and scene understanding.
develop understanding of the limitations and challenges of computer vision, such as dealing with variability in illumination, scale, and viewpoint.
execute further research and development in the field of computer vision and related areas.
apply critical thinking and problem-solving skills from computer vision concepts to solve various problems.
Course Content
Introduction. Image Formation. Images without lenses. The pinhole camera. Lens systems. Scaled orthographic projection. Light and shading. Color. Simple Image Features. Edges. Texture. Optical flow. Segmentation of natural images. Classifying Images. Modern computer vision methods such as Convolutional Neural Networks, deep learning methods for handling images and videos. Object Detection. Localisation and Recognition. Object tracking and motion estimation. Deploying computer-vision solutions for real world problems. Image classification with convolutional neural networks. The 3D World. 3D cues from multiple views. Binocular stereopsis.3D cues from a moving camera. 3D cues from one view. Using Understanding what people are doing. Linking pictures and words. Reconstruction from many views. Geometry from a single view. Making pictures. Controlling movement with vision.
Practical:
Students will perform various image processing techniques, such as image filtering, edge detection, and morphological operations, using popular computer vision libraries such as Open CV. Object Detection and Tracking: Students will implement object detection and tracking algorithms using Haar cascades, HOG, and deep learning-based object detection. Image Classification: Students will implement image classification algorithms using k-nearest neighbors, decision trees, and deep learning-based image classification. Image Stitching and Panorama: Students will implement image stitching and panorama algorithms using homography and RANSAC. Face Detection and Recognition: Students will implement face detection and recognition algorithms using Viola-Jones, HOG, and deep learning-based face recognition. Image Segmentation: Students will implement image segmentation algorithms using thresholding, region-based segmentation, and active contours. Feature Detection and Extraction: Students will implement feature detection and extraction algorithms using corner detection, Harris corner detection, SIFT, and SURF.
CSC 597: Final Year Project I (3 Units C: PH 135)
Learning Outcomes
At the end of this course, students should be able to:
Course Contents
An independent or group investigation of appropriate software, hardware, communication and networks or IT related problems in Computer Science carried out under the supervision of a lecturer. Before registering, the student must submit a written proposal to the supervisor to review. The proposal should give a brief outline of the project, estimated schedule of completion, and computer resources needed. A formal written report is essential and an oral presentation may also be required.
CSC 598: Final Year Project II (3 Units C: PH 135)
Learning Outcomes
At the end of the course, students should be able to:
Course Contents
This is a continuation of CSC 597. This contains the implementation and the evaluation of the project. A formal written report, chapters 4-5 have to be approved by the supervisor. A final report comprising chapters 1 – 5 will be submitted to the department for final grading. An oral presentation is required.
|
Level |
Male |
Female |
Total |
|
100 |
105 |
65 |
170 |
|
200 |
145 |
38 |
183 |
|
300 |
119 |
31 |
150 |
|
400 |
115 |
21 |
136 |
|
500 |
86 |
12 |
98 |


