Call Us: +233-0266-839961 | 0503 030999

BSc (Hons) Computer Science - Course Description


Course Description

(For the overall course structure and requirements, click here)

 

SICS 1513 Programming in C

The course introduces programming conce pts. Students would work in a hands-on environment allowing time to discuss and practice each programming concept. This course will be used to introduce the concepts of structured programming and the problem solving skills using C programming language.

 

SICS 1523 Object Oriented Programming using C++

The course covers some fundamental concepts and techniques behind object-oriented programming in C++. Some of the concepts and techniques under this course are: abstract data types (classes, objects, and methods) creation, initialization, and destruction of objects. Others concepts include class hierarchies and inheritance, polymorphism and dynamic binding. In addition, generic programming using templates and algorithm absGtraction will also be discussed.

 

SICS 1533 Foundation of Computer Science

The course aims to introduce students to some fundamental concepts and techniques of mathematics particularly in those areas most relevant to computer Science. Topics to be covered include: Formal mathematical notation; Integers; Fundamental properties of integers, congruence of integers and operations on integers, Modular arithmetic; rational numbers, real numbers, prime numbers, divisibility, GCD & LCM; Mathematical Induction and other proof techniques. Other topics include: Bases, Binary/Octal/Hexadecimal numbers, Data representation, Addressing, Instructions, Permutations & Combinations, Algebraic notation, Logarithms and other pre-computer calculating aids.

 

SICS 1543 Digital Computer Fundamentals

Introduces the basic Electronic Principles, the Number system and Codes used in the computer like Binary, Octal, Decimal and Hexadecimal number systems- Decimal to Binary, Octal to Binary, Hexadecimal to Binary, Hexadecimal to Octal Conversion and Vice-Versa, 1's and 2's Complement representation, Karnaugh Map, Combinational circuits, Half adder, Full adder and about Sequential Circuits.

 

SICS 1553 Introduction to Internet & WWW

This course gives students the introduction to Internet, Hardware and Software requirements of Internet, Internet Service Providers (ISP), Internet addressing, Mail, Using mail from a shell Account, Introduction to World Wide Web, using web as a tool to information technology, using mail safety, web security, and privacy.

 

SICS 1583 Introduction to Information Systems

This course aims at introduction of some concept, principles, and skills of information systems. Topics to be covered include: the need for information, the use of information, data collecting, coding, storage and retrieval, information processing, information display and the evaluation of information.

 

SICS 1632 Introduction to Computer Hardware

Introduces the hardware component of the computer. This course introduces the components of a computer system, power supply, input devices, output devices and storage devices. This course comprises of both theory part and the practical part of the Computer so that the students will get on hands on training.

The paper also introduces the principles of computer design and performance measurements, instruction set design principles, exploitation of instruction level parallelism in high performance processors, RAID, Cache memory, Virtual memory, input, output, Organisation: Peripheral Devices, Input Output Interface, Asynchronous Data Transfer, Modes of Transfer, Direct Memory Access (DMA).

 

SICS 1593 Introduction to Information Technology I

The first part of the course treats Word processing using MS Word (and its equivalent in OpenOffice) functions using a specific word processing software package, which may include insert, delete, cut, paste, find, replace, document formatting, margins, tabs, spell checker, thesaurus, grammar checker, pagination, page numbering, indent, printing, line spacing, justification, centering, view modes, multiple windows, footnotes, endnotes, headers, footers, disk maintenance, folders and document formats. Introduces merge, tables, borders, images and drawing objects. Applications also may include tables, charts, graphics, borders, Clip Art, drawing features, Web-enhanced forms, fill-in forms, columns, outlines, paragraph numbering, styles, macros sort, select, shared documents, table of contents and index. Keyboarding skills required for successful completion. Students will be introduced to MS Excel.

 

SICS 1663 Introduction to Information Technology II

The first part of the course covers E-mail, Electronic Communication and Electronic Presentations for Business Professionals. Students will be introduced to Microsoft Outlook (and its equivalent in OpenOffice) emphasizing efficient use of e-mail, calendar, tasks and notes. It also covers the use of MS PowerPoint (and its equivalent in OpenOffice) design, prepare and present effective business presentations utilizing current electronic presentation software and design techniques. Techniques for assessing a business presentation situation and delivering a successful electronic presentation.

The second part introduces students to Desktop Publishing using CorelDraw. This part of the course is designed to integrate the enhanced graphic features used in desktop publishing applications including promotional documents, newsletters, brochures, booklets, proposals, manuals, reports and flyers.

 

SICS 1573 Computers in Gen. Applications I

Introduction to computer concepts and hands-on experience with word processing, spreadsheet, and presentation tools. Microsoft office (Windows) and OpenOffice (Linux) packages will be used.

 

SICS 1583 Computers in Gen. Applications II

Emphasis on systems analysis and database applications, desktop publishing..

 

SICS 2533: Database Management Systems

This course introduces the basic concept of databases. Files, File Organization and File Structures, the purpose of Database systems, Data Models, Transaction Management, Storage Management, Data base Users, Database Administrator, Database Architecture and data Modeling, Relational Model, Entity Relationship Modeling, Data Normalization etc.

The course also introduces the latest database management tool. Topics cover: Information models and systems, Data modeling, object oriented models, Relational databases, Database Query languages, SQL- DDL, DML, TCL, Sub queries. PL/ SQL: Functions, Packages, Triggers etc. Query optimization; 4th generation environments; embedding non procedural queries in a procedural language; introduction to object query language, database design, functional dependency, transaction processing, failure and recovery, concurrency control, Database System Architectures: centralized systems, client server systems, Distributed systems, Parallel databases and multi database systems.

 

SICS 2533 AND SICS 2543: Data Communications and Networks I & II

This course is an introduction to the field of data communications and the basic concept in Networking. Topics include: the language of computer networks; fundamentals of data and signals, analog signal, digital signal, the media; conducted and wireless, modems, networks of computers, LAN, WAN, Network devices. Basic modem operating principles, Bandwidth limitations, and alternatives to traditional modems: Channel Service Unit/ Data Service Unit, Cable Modems, ISDN, DSL. It also gives a brief knowledge about Data Link Connections.

The course also covers Physical and Data Link protocol issues. The program proceeds to a discussion of switching technologies and Network Layer concerns. The course addresses local area networks with broadcasting and media access control providing the alternative to switching in these environments, and issues associated with network connectivity and the question of interoperability. Topics and content of the course include; using the Open Systems Interconnection terminology, the functions of the Transport Session, Presentation and Applications Layers and the TCP/IP stack used to provide a "real world" example. Students will examine the structure of the Internet and explore the critical role of TCP/IP. Focus will be on such topics as; Physical Layer Protocols, Data Link Layer Protocols, Switching Alternatives, Network Layer Protocols, Local Area Networks (LAN), Interoperability and the OSI Model, TCP/IP and the Internet.

 

SICS 2543 Data Communication & Networks II

This paper deals with the advanced concepts in Internetworking: its concepts, Architecture, and protocols- IP: Internet Protocol Addresses Binding Protocol Addresses (ARP), IP Data gram Forwarding, IP encapsulation, fragmentation, and reassembly. The future IP (IPv6), An error reporting mechanism (ICMP), TCP, Reliable Transport service Network applications: Client Server Interaction- The Socket Interface, example of a client and a Server, Naming with the Domain naming system Electronic Mail representation and transfer, File Transfer and remote file access.

 

SICS 2553 Computer Organization

This paper introduces the basic computer organization and design: Instructional codes, computer instructions central processing unit: General register organisation, stack organisation, instruction formats, addressing modes, data transfer and manipulation, program control, Reduced Instruction Set Computer RISC) micro programmed control: Control memory, address sequencing, Processing: Parallel processing, Pipelining, Vector Processing, Array Processors- Characteristics of Multiprocessors, Computer Arithmetic: Addition and Subtraction, Multiplication Algorithms, Division Algorithms.

 

SICS 2563 Numerical Methods

This course gives them the ability to solve solutions of numerical algebraic and transcendental equations, bisection methods, false position method, Newton Raphson method, Successive approximation method, Simultaneous linear algebraic equations, Gauss elimination method, Jacobi method, Pivotal condensation, Gauss seidal, Gauss Jordan, Eigen Values and Eigen Vectors, Numerical differentiation, Newton's forward and Backward difference formula. Integration, Trapezoidal rule, Simpson's one third rule, Newton's three eighth rule. Solutions of differential equations, Tailor's series, Euler's series, Euler's method, predictor, corrector method, Runge-Kutta method.

 

SICS 2573 Programming with Visual Basic.Net

This course provides the knowledge and techniques needed to build distributed Visual Basic.Net applications. You develop the skills required to take advantage of a combination of component- and object-oriented syntax in VB.Net to achieve increased reusability.

Topics covered include (i) The .NET Framework: The .NET Framework class library, The Common Language Runtime (CLR), New features in Visual Basic 2005; (ii) Object-Oriented Programming: Encapsulation, Inheritance, Polymorphism; (iii) Generics, Operators and Memory Management: Generics, Operator overloading, Garbage collection; (iv) Events, Exceptions and Multithreading: Working with events and delegates, Structured exception handling, Threading and synchronization (v) Assembly deployment and versioning, (vi) Data Manipulation with ADO.NET: The ADO.NET model, Programming the ADO.NET objects, and XML.

 

SICS 2583: Operating Systems

Introduces the fundamentals of operating systems design and implementation. Topics include an overview of the components of an operating system, Batch processing, multi programming, OS as a resource manager. Process Management, UNIX OS/2 and WINDOWS NT, Dead lock, mutual exclusion and synchronization, implementation of processes, scheduling algorithms, memory management, paging, segmentation, I/O and resource management, mechanism for protecting hardware and software resources

 

SICS 2613: Programming with Java

This programming course introduces procedural programming in the Java language. Students would learn how to write short programs in Java, compile and run them. They will also learn how to use various control structures and functional abstraction, and how to select appropriate types and structures for modelling data. Attention will be given to recursive functions, class design and Graphical User Interfaces (GUIs).

 

SICS 2623 Data Structures & Algorithm Analysis

The course aims at introducing the student to the analysis of algorithms allowing students to compare the relative efficiency of different algorithms for solving computational problems and to encourage the use of these as an integral part of computer programming. The course covers such areas as: How to express and compare running time for differently sized problems, Analysis of algorithms, Data structures that help implement efficient algorithms, and advanced issues in algorithm analysis.

 

SICS 2643 Computer Architecture & Micro-Processor

This paper gives students a brief idea about various Architectural of computers, and also introduces the architecture about the Microprocessor. The topics include 8086/8088 Internal Architecture: Architecture of 8086, Bus Interface Unit, Execution Unit, Instruction Set, Addressing Modes, minimum and maximum modes of operation. Assembler 86: reserved words, segment directives, declaratives, macros, simple assembly language programming, memory section, general features of memory Interface, simple memory sections, busing structures, memory section for Intel 8086 I/O sections: Intel 8086 I/O structure, Programmable Peripheral Interface 8255A, Keyboard/Display Controller 8279, Programmable timer/ counter 8254, Interrupts in 8086, Programmable Interrupt Controller 8259A, Single & Cascade, DMA controller 8287. Introduction to Intel 80486, Pentium & Pentium Pro.

 

SICS 2663 Personal Computers in Business

This course provides a survey of microcomputer hardware and software applications from the perspective of the individual user. It includes reviews and hands-on-experience with microcomputer software packages such as spreadsheets, database mganagement systems, graphics packages, and other business packages. The impact of personal computers on managerial functions, and issues related to decentralisation and managerial controls are discussed. The role of personal computers as workstations in the business environment is emphasised. Student will be introduced to Desktop publishing packages and picture (still and movie) editing packages.

 

SICS 3513 Human Computer Interactions

Many computer systems are not easy to use. This can have a considerable impact on the quality of life of the users, their efficiency at work and even on their health and safety. In this module students will learn about the impact of unusable systems and the importance of making systems easier to use. Students will learn practical skills to design and analyse the usability of interactive systems, learn about how psychology and other human-centred disciplines can inform the design of easier to use systems and lastly, be encouraged to think critically about how technology is developed and marketed.

 

SICS 3523 Project Management for Information Systems

This course discusses the practical examination of how projects can be managed from start to the end, including specific emphasis on planning and controlling to avoid common pitfalls. The course will also look at identifying needs, defining requirements, project costing, scheduling, resource allocation, and project politics.

 

SICS 3533: Information Systems Analysis and Design

This course involves analysis, design and implementation, and evaluation of information Systems. Emphasis will be on user information needs, system design methodologies, system development, life cycle, and evaluation techniques. Focus is on the integration of technology, procedures and people.

 

SICS 3543 Principles of Compiler Design

Introduces the concept of compiling. Topics include introduction to compiling, once pass compiler, lexical analysis, and the role of lexical analyzer, Finite automata, DFA based pattern matchers. Syntax Analysis: Context free grammar, LR parser, Parser generators, syntax directed translation, Type checking, Run time environments, source language issues, Intermediate Code generation, Code generation, Code Optimization.

 

SICS 3553 Computer Graphics

This course gives an overview of graphics systems, Display devices, CRT Random Scan and Raster, Scan Monitors, DDA and Bresenhams Circle algorithm, Character generation. Two-dimensional transformations, scaling, translation and rotation, matrix representations Interactive input methods, three dimensional concepts, display techniques, parallel projection, perspective projection, hidden line removal, hidden-surface removal and shading. Three-Dimensional transformations for scaling, translation, rotation, reflection, hidden surface, and hidden-line removal, back-face removal, depth-huffer method etc.

The course discusses software development processes and the role of design as applied in those processes. Topics that will be treated include: Object oriented design; - rationale for OOD, big players within OOD, Abbots proposal and Lorensen's design steps, Design documentation; - design notations, benefits of design methods, IBIS approach, GOMS approach, IEEE Standard for design documentation, Principles of good design, viewpoints of HCI, Wasserman principles of design and Meyer criteria for judging design methods, The design process; - characteristics of design methods, design activities and strategies, the architectural design process, modular decomposition, Introduction to design;- abstraction, modularity, refinement, cohesion, coupling, encapsulation and aggregation. Other topics include System Structuring;- repository, client server and abstract machine architecture models (the advantages and disadvantages of each). Emphasis is placed on computer-aided software engineering (CASE) tools. Attention is also given to the strengths and weaknesses of the development methods, along with traceability to requirements and code.

 

SICS 3573 System Programming Using UNIX & LINUX

Under this course students will study the fundamentals of operating systems design and implementation, Basic structure, synchronisation and communication mechanisms, implementation of processes, process management, scheduling and protection, memory organisation and management; - including virtual memory, I/O device management, secondary storage, and file systems. Attention may be given to the internal structures of particular operating systems such as UNIX and LINUX, or another chosen by the department. Students will work in groups on time-intensive programming assignments

 

SICS 3583 Software Project Management

Topics under this course include: Project success factors, Software Runaways, Crunch Mode and Death March, the Software Crisis, solutions of successful Project Management and Cost estimation; - Principles of cost estimation, details of the COCOMO cost estimation model; Timeline management and Quality Management. Other topics are: Risk Management; - the need for assessment of risk, risk analysis procedures, SEI risks; Management model, Project Planning and Scheduling, The laws of project management, activity graphs, GANTT charts and PERT charts. Project Roles and Team Work, Belbin roles, the SEG project and Project Management, Typical Company Management structures, the theory of groups and teams, problems and solutions to team work, the Belbin management structure, Communications Management, Human Resource Management, Leadership, Motivation, and Staffing, Introduction to Software Engineering, Existing problems with software development, the Waterfall Model, Configuration Management, The source code Management process, the basic evolution graph, Configuration Management plans, process control and synchronization are some topics also to be discussed under this course. Attention will be given to Lifecycle and process models, process metrics, planning for a software project, mechanisms for monitoring and controlling schedule, budget, quality, and productivity and contracts and procurements as these apply to software development projects.

 

SICS 3593 Software Requirements Engineering

The aim of the course is to give the state of the art and state of the practice in software requirements engineering. It provides an in-depth coverage of selected methods, tools, notations, or validation techniques for the analysis and specification of software requirements. The following forms the content of the course: Introduction to requirements, why requirements capture is difficult, defining requirements and requirements engineering, the Requirements Engineering Process, expectations of requirements engineers, making the process more manageable and types of Requirements. Other course contents are; non-functional and functional requirements, Points to consider when collecting requirements, viewpoints in requirements engineering and use case analysis, Writing requirements specifications; - the Volere approach, characteristics of requirements specifications problems with natural language, the IEEE requirements template, dealing with Problems; - considerations for supporting requirements engineering, types of system failures and fit requirements.

 

SICS 3613 Introduction to Software Testing

The course aims to provide students with concepts and techniques for testing software and assuring its quality. Topics cover software testing at the unit, module, subsystem, and system levels; automatic and manual techniques for generating and validating test data; the testing process, static vs. dynamic analysis, functional testing, inspections and reliability assessment. Other areas covered are Software Quality Assurance; - McCall quality metrics, HP FRUPS method and how standards help in software quality assurance, Testing;- black and white box testing, test cases, test coverage, testing guidelines, test generators, planning for software testing, Essays in Software engineering;- the Mythical Man Month, the Whole and the Parts, No Silver Bullet Software Metrics;- types of measurement, setting up a metrics programme, measurement scales, using McCall, Product Metrics;- cyclometric complexity, structural fan in and fan out cohesion and coupling, Henry and Kafura metrics, Process metrics, measurement and assessment procedures, process evaluation and the capability maturity model.

 

SICS 3623 Cyber Law

This course is an introduction to legal issues that relate to the Internet, tracing its sources, history and development. Special emphasis is placed on application of the present principles of law and jurisprudence to the ever-changing e-commerce environment.

Cyber-law will cover topics such as regulation of cyberspace, legal jurisdiction over cyberspace, intellectual property, copyrights, on-line contracts, taxation, and on-line securities offerings. Social issues, such as privacy and information security will also be addressed.

 

SICS 3633 Navigating the Internet

This course, involves using the Internet -electronic mail, newsgroup readers, FTP and WWW search engines. It also involves advanced HTML authoring and networking fundamentals, Lab assignments and projects and developing a web presence for a client organisation.

 

SICS 3643 Principles of Software Engineering

This course is an introductory course in software engineering. It emphasises the organisational aspects of software development and software design and implementation by individuals and small teams within a process/product framework. The course covers the initial phases of the software-development life cycle. Topics treated under the course include software planning, requirements analysis, requirements specification, software design, user interface issues, specification and implementation of components, assessing design quality, design reviews and code inspections, software testing, basic support tools, software maintenance, technical communication and system documentation, as well as team-based development. A number of techniques for performing analysis and design are also explored.

 

SICS 3652 E-Commerce & E-Business

This course aims to introduce students to the concepts of e-commerce and equip them with the tools and knowledge to take advantage of e-commerce and e-business in an organisation by developing effective business strategies with the support of new technologies. Some concepts to be discussed includes: The emerging digital economy, Understanding the economics of the Web, E-Commerce technology, Web integrated software, Communications and networks, E-harmonised supply chains, Internet marketing, Financial accounting infrastructures, Legal and Security issues in e-commerce, Business models for e-commerce and Implementation of e-business systems.

 

SICS 3663 E-commerce and Information Security

This course discusses electronic commerce, information security, and their relationship. Key topics covered include: Introduction to E-Commerce, E-Commerce Deployment Issues, Cryptography, Online Payment Options, Risks and Solutions. Various facets of information security are also covered. Specific focus is given to Public Key Infrastructure (PKI), from certificate and registration authorities to practical application of digital certificates, along with information on the Secure Sockets Layer (SSL) and Secure Electronic Transaction (SET) protocols. A comparison of the major firewall products (e.g., Axent Raptor, Check Point FireWall-1, and Network Associates' Gauntlet) is is discussed within the context of managed firewall services.

 

SICS 3673 Intelligent Robotic Systems

This course involves fundamentals in Robot configurations, Kinematics, Robot programming languages and Robot vision. It also includes an introduction to the intelligent integration of sensors, robots and systems to achieve specific tasks. Students require a basic knowledge in linear algebra in order to take this course.

 

SICS 3683 Strategic Information Systems

This course involves an introduction to the role of information systems in contemporary organisations. A wide variety of emerging technologies and information systems will be studied, with emphasis on their development and application. The student will also be familiar with softwares such as expert systems, decision systems and groupware.

 

SICS 3693: Networked Information Systems

This course explores both the technical and application areas of advanced networked information systems, covers systems architecture, data-network architectures, secure information transmission, visual data representations, information coding and compression for storage and transmission, complex heterogeneous management, and the integration of legacy with next-generation systems.

 

SICS 3713 Information Systems Development

This course involves the study of strategies and techniques for dealing with the inherent complexity in the development of information systems. It also includes coverage of business systems planning, fact-finding and requirements analysis techniques, information systems modeling, logical and physical design, input and output design, user interface design, software construction and testing, software configuration management, and software quality assurance.

 

SICS 3723 Design & Evaluation of Interactive Systems

This course involves exploring the theory, concepts and practice of human-computer interaction and hence the impact software usability has on productivity and user motivation. The course considers how you can identify and apply appropriate techniques when designing or evaluating interactive systems. This 'toolkit' of user-centred methods will help students build usable systems. Increasingly, organisations also rely on interactive systems that support group activities. The course will look at practical issues in the application of HCI theory.

 

SICS 3733 Operations Research I

This course discusses methods for developing and analysing deterministic and stochastic mathematical models. Topics to be covered include: linear programming, networks, integer programming and non-linear programming. Some topics under this course also include simulation, Markov processes, and queuing.

 

SICS 3743 Operations Research II

Continuation of SICS 3733 Operations Research I.

 

SICS 3783 Software Lifecycles

Topics to be covered include: Software Reuse; - benefits of performing reuse, problems associated with reuse, Jones' reusable assets, consumer/producer viewpoint and process model for reuse, Software Maintenance; - 4 types of maintenance, impacts of software change, program comprehension, plans and beacons, Software Evolution;- software legacy properties, studying the process of evolution, the differences between evolution and maintenance. Other topics are Software Lifecycles;- problems with the waterfall model, the prototyping lifecycle model, the spiral model, Soft Systems Analysis;- the main differences of a soft systems approach, rich pictures drawing and interpretation, and CATWOE.

 

SICS 3793 Geographical Information Systems Fundamentals

Provides an introduction to Mapping and Geographic Information Systems and their applications. Emphasizes the concepts needed to use GIS effectively for manipulating, querying, analyzing, and visualizing spatial-based data. Industry-standard GIS software is used to analyze spatial patterns in social, economic and environmental data, and to generate cartographic output from the analysis. Attention is given to data collection and description; measuring absolute and relative location, patterns, interaction, and association.

 

SICS 3823 Computer Programming for GIS

General introduction to Visual Basic.Net and other languages with Geographical Information Systems related applications. Topics covered include fundamental data structures and algorithms, user-interface design, component object model, and data base management. Emphasis on rapid GIS application development with hands-on experience. Students are expected to design and implement a project. Student will also be introduced to data collection and the use of GPS and effective handling of digital maps. Prerequisite: SICS 3793 Geographical Information Systems Fundamentals.

 

SICS 3842 Survey of Programming Languages

The first part of the course covers an introduction of the Fundamental Concepts of Programming Language (Diversity of Languages, Problem Solving Process, and Language Design, and Lexical Elements, Syntax, and Semantics). The second part treats Historical Survey, Early Machines, Examples of different languages to illustrate application differences and similarities; Discussion of Modern Systems Programming Language; Modern Embedded Computer Systems Language; Modern Artificial Intelligence Language; Comparative Practical Applications.

 

SICS 4503 Computer Science Project/Dissertation I

The course aims at helping the final year student conduct a substantial piece of supervised research as an individual initiative and to write it and present it orally in a scholarly fashion.

A research project of practical significance would have to be completed under the supervision of a Computer Science faculty member. The student will generate a substantial final technical report accepted by a three-member faculty committee. The project would include Feasibility study (research based), Project planning, Software requirements capture and analysis, Software design, Software Implementation, Software testing and user evaluation and Project writing and reporting.

 

SICS 4513 Artificial Intelligence & Experts Systems

The aim of the course is to give students an overview of the foundations underlying design of intelligent systems. The course would also give a general introduction to some of the main problems in Artificial Intelligence and a basic toolkit for dealing with these problems. The content includes the definition of AI, Standard blind and heuristic search procedures (including genetic algorithms), Theoretical aspects of heuristic search, Knowledge representation formalisms, Reasoning strategies, (eg: resolution Linear and non-linear planning) and Behavioural control architectures. Relations between logical, statistical, cognitive, biological paradigms, basic techniques for heuristic search, theorem proving, knowledge representation, adaptation; applications in vision, language, planning and expert systems will also be discussed. The course will also introduce students to machine intelligence, with special emphasis on expert systems. Topics include introduction to systems for problem solving and automated reasoning, reasoning in the presence of uncertainty, search control, backward and forward rule chaining, and connectionist artificial intelligence.

 

SICS 4523 Computer Simulation & Modelling

The purpose of the course is to introduce students to the general principles of simulation model design and concepts of the computer simulation. The course introduces mathematical and statistical models, simulation languages, gives a thorough review of queuing systems and a hands-on experience with the object-oriented simulation. Applications of simulation methods and techniques are focused mainly on the area of computer science. However, general methodology of the simulation project life-cycle (problem formulation, data acquisition, model design, validation and verification, experiment preparation, interpretation of results) is presented. ProModel for Windows will be used for projects including production systems, inventory, finance, and transportation. Statistical analysis of simulation input/output data, model validation, design of simulation experiments, and optimisation are also covered.

 

SICS 4533 Web Design and Multimedia

This course has to do with a detailed study of methodologies, techniques and tools used to analyse, design and implement multimedia and web-based applications. The focus of the course will be hands-on development of commercial web-based applications. Students will study a variety of software technologies relevant to web design and implementation including programming languages, scripting languages, network programming and security. Each student will develop an application by going through all phases of web engineering life cycle; - specification, design, implementation, and evaluation.

 

SICS 4543 Team Software Development Project

The focus of this course is on software development in teams. The objective here is for the students to get hands-on experience with evolving an existing system while playing pertinent technical and managerial roles. By the end of the course, teams should be able to plan, develop and manage software, and analyse it -- as well as analyse the processes used -- in a quantitative way. An important aspect in the course is studying different types of software teams, and how they measure amongst themselves during software development. Measurements would be defined for software defect quality, productivity, rework, communication patterns, development effort, feedback and backtracking. Data will be gathered, validated, analysed and interpreted in order to obtain a thorough understanding of team software software development. Contextual information (such as the state of the existing system to be evolved) will be described. Student teams will be formed based on previous individual experience. Teams would then have to gather system and software requirements. Project progress would be assessed regularly and feedback will be provided.

Teams are expected to hold project meetings and to use appropriate software engineering methods and techniques. Delivery of software artifacts is expected as per the project description. Class time will be divided into three parts: time for lecturers on contemporary issues in software development, time for guest lecturers (industry practitioners) and time devoted to team-based activities.

 

SICS 4563 Software Process Improvement

Topics to be covered include: Process improvement, Capability maturity model, software's chronic crisis, Software process modelling, personal software process, software inspection, Formal methods, empirical approaches and Management issues.

 

SICS 4583 Multimedia and Web Engineering

This course has to do with a detailed study of methodologies, techniques and tools used to analyse, design and implement multimedia and web-based applications. The focus of the course will be hands-on development of commercial web-based applications. Students will study a variety of software technologies relevant to web design and implementation including programming languages, scripting languages, network programming and security. Each student will develop an application by going through all phases of web engineering life cycle; - specification, design, implementation, and evaluation.

 

SICS 4593 Concurrent Software Systems

This course treats the principles of Concurrent Software Systems and Issues and structures common in the construction of concurrent software systems. Emphasis is on fundamentals repeated in the design and development of systems with closely coupled systems concurrently executing components. Topics to be covered include modelling, synchronisation, and co-ordination techniques and common architectures for concurrent software systems. Other issues include problem decomposition and analysis of deadlock, safety and liveness.

 

SICS 4603 Computer Science Project/Dissertation II

A continuation of SICS 4503 and submission of Dissertation. Students may produce an 8,000 or 10,000 word dissertation depending on the nature of the project or research.

 

SICS 4613 Grammars and Software Tools

This course aims to develop; (i) a detailed understanding of the need to formally define grammars and languages and help students acquire the practical skills to manipulate grammars and to apply the theory; and (ii) a broad understanding of, and skill in the use of a variety of practical tools and techniques for symbolic processing and the management of software. The content of the course is in two parts: The first part is on Grammars and the second part is on Software Tools. The areas covered under Grammars include Informal definition of grammars and languages, Formal definition of phrase structure grammars, derivations, sentential form, ambiguity, Finite state automata, deterministic and non-deterministic, Chomsky classification, formal definitions of context sensitive, context free and finite state grammars, Regular expressions and conversion to finite automata.

Topics under Software Tools are: Parser construction tools (Quick introduction to lexical analysers and Debugging of grammars), Perl (Basic Language constructs, Programming with regular expressions and several self-contained example programs), Introduction to basic Unix software tools, and ways to combine them.

 

SICS 4623 Web Database Systems

This course treats basic concepts and designs issue related to object-oriented and object-relational database systems as well as database standards such as ODMG and SQL3. It also covers the application of the concepts underlying distributed databases systems including distributed query processing and transaction management. Students will learn and apply techniques underlying advanced database systems and applications such as web-based database access, multi-database systems, and data warehouses. Students will use major commercial database systems to design database applications and to apply and verify techniques learned in the course.

 

SICS 4633 Internet Protocol Routing

This course covers routing technologies and protocols. As the most common networking protocol in use today, the Internet Protocol (IP) is used for everything from wireless and enterprise networks to the Internet backbone itself. As a collection of independently managed networks, the Internet requires sophisticated routing protocols to guide the flow of information. This course provides detailed coverage of the advanced IP routing protocols necessary to run complex networks. The future of IP routing protocols will also be discussed. Focus will be on local area networks protocol standards like: MAC addressing, IEEE 802.1D bridging protocols and virtual LANs, Internet protocol standards, Internet Protocols (IPv4, IPv6, ICMP), Routing protocols for interior gateways (RIP, OSPF, IGRP) and for exterior gateways (EGP, BGP, Policy routing), IP multicast (IGMP, DVMRP, CBT, MOSPF, PIM) and resource reservation (RSVP).

 

SICS 4643: Networks and Telecommunications

This course focuses on telecommunications systems used in information networks. The first part of the course covers computer networking terminology, history, connectivity, and topology. Participants will gain essential knowledge in the principles of computer networking, associated computer services, and computer network planning and design. The second part covers telecommunications infrastructure required to support integrated voice, data, and video environments. Topics in this latter part include; equipment utilisation in information networks, techniques utilised to transmit signals (e.g., modulation, multiplexing, error detection and correction), methods of message handling, network configuration, and computer programmes utilised in implementing networks.

 

SICS 4653 Web Programming

This course gives an overview of some concepts, principles, methods, tools, and techniques used in the systematic development of sites on the World Wide Web. Also covered include: instruction and practice in planning, design, programming and construction, installation and implementation, testing, trouble-shooting, and maintenance of Internet sites using a variety of software tools such as HTML, dynamic HTML, XML, PHP, ASP, design graphics, JavaScript, and others. Each student would be required to designs and creates Internet website projects, makes assigned relevant individual presentations and develops one large term project.

 

SICS 4663 Digital Signal Processing

This course is divided into two parts. The first part covers an introduction to linear circuits and systems. The content of the first part include: Analysis of continuous linear time-invariant systems; -Fourier series, Fourier transforms, Laplace transform techniques and their applications, transformation and properties of continuous signals and systems, convolution, transfer functions and state variable system representations. The second part further explores discrete-time signals and systems. Topics covered include Z-transforms, discrete Fourier series and transforms, efficient implementations of discrete-time system and design of IIR, FIR and multirate digital filter structures.

 

SICS 4673 Management Information System

The course provides the necessary background to enable management information systems personnel to understand tradeoffs in information systems hardware, software, and architecture for effective use in the business environment. Topics include information technology planning and strategy; trends in computer hardware and systems software; telecommunications and network management; control and management of information resources; distributed and client-server technologies; and data representation and visualization.

 

SICS 4823: Visual Programming

This course introduces the properties of window, how to create form, printing a visual representation of a form, creating a stand alone windows programs, tool box, printing visual representation of a form, typos, creating stand-alone windows programs- the tool box, variables, data types, the function procedures and sub procedures, advanced uses of procedures and functions, one dimensional arrays, Accessing the windows functions, Error Trapping, Fundamentals of Graphics, Graphics via code, The Mouse Event Procedures, Dragging and Dropping, Running another windows program within.

 

SICS 4693 Computer Security

The course is intended to help business executives and information systems/computer professionals, and organisations protect the computer and the data from a wide variety of threats. Security concerns are of prime concern now. News events about computer related data errors, thefts, burglaries, fires, and sabotage dominate. Weak computer security and lack of internal controls increases an organization's vulnerability. The major steps in managing computer security are discussed in this course. The course helps business executives identify resources in their organizations that need to be protected. Some computer security Issues to be discussed in the course include: Organizational Policy, Physical Security and Data Preservation, Hardware Security, Software Security, Personnel Security, Network Security, Security Policy, Contingency Planning, Auditing and Legal Issues, Computer Crime, and Cyber fraud.

 

SICS 4713 Computer Ethics & Society

Introduces students to the social and professional issues that arise in the context of computing. Special topics include: Social context of computing, Methods and tools of analysis, Professional and ethical responsibilities, Risks and liabilities of computer based systems, cyber laws Intellectual Property, Privacy and civil Liberties, Computer Crime: History and examples of computer crime; "cracking" and its effects; viruses, worms and Trojan horses; crime prevention strategies, economic issues in computing, Philosophical frameworks, Ergonomics.

 

SICS 4723 Introduction to Expert Systems

This course introduces students to machine intelligence, with special emphasis on expert systems. Topics include introduction to systems for problem solving and automated reasoning, reasoning in the presence of uncertainty, search control, backward and forward rule chaining, and connectionist artificial intelligence

 

SICS 4743 Electronic Commerce Security

This course involves an examination of concepts, technologies, and applications of security in electronic commerce systems. Topics include the security threats against electronic commerce; tools used by intruders, computing platforms and security, encryption, securing the transaction and the server, detection and responses to attacks and the future of electronic commerce security.

 

SICS 4763 Electronic Commerce

This course examines the concepts, technologies, and applications of electronic commerce. Topics to be covered include the World Wide Web as a platform for electronic commerce, intranets, electronic data interchange, electronic banking and payment systems and security issues in financial and sensitive data transfer. Others include: unique aspects of business-oriented commerce such as supply-chain management in relation to consumer commerce, software agents and the social, legal, and international issues in electronic commerce, building and maintaining an electronic commerce website and future trends in electronic commerce.

 

SICS 4783 Computer Vision

The course is designed to equip the student with the knowledge and skills in algorithms and data structures for computer vision using current software technologies. Topics to be covered include: Advanced vision concepts, Texture analysis, Introduction and applications, Filtering and edge detection, The image/vision pipeline, Statistical vision, Mathematical morphology, Feature extraction and measurements and Neural vision.

 

SICS 4823 Computer Forensics

This course examines the use of computers in the commission of crimes and civil wrong doings and the detection, collection, analysis and production of digital evidence. This course covers areas including elements of forensic science, computer for forensics, digital documents, security, law relating to cyber crime and intellectual property. Students will use computer resources to explore basic computer forensic investigation techniques.

 

SICS 4843 Spreadsheet Modeling for Business Decisions

The course is meant to help students build flexible financial models and perform sensitivity analysis to quickly evaluate the options available to them in a business scenario. There are two main goals for the course: (1) to improve students' ability to think logically about and to structure complex managerial problems, and (2) to improve students' ability to develop Excel-based spreadsheet models (or use Linux - OpenOffice spreadsheet models) that can be used to improve managerial decision-making significantly. The course will be taught almost entirely by example, using problems from the main functional areas of business - Finance, Operations, investments, and Marketing. Students will learn about the two main types of modelling approaches: optimization models, i.e., models that can help find the "best" solution; and simulation models, i.e., models that allow explicit consideration of risk trade-offs associated with alternatives. Students (especially, in Econometric methods) will also be introduced to using spreadsheets to model mathematical relations including Black Scholes, Markowitz's Efficient frontier, etc.

The key emphasis of this course on models that are widely used in diverse industries and functional areas, including finance, accounting, operations, and marketing. Applications will include production planning, supply chain management, foreign exchange and commodity trading, asset-liability management, portfolio optimization, corporate risk management, and yield management, among others. Because of the hands-on nature of the course, many sessions will be held in the computer laboratory. The class sessions will include lecture and then a lab in which students implement the techniques on their own. Out of class assignments will demand that students evaluate a business situation and make and support their decision based on their analysis.

 

SICS 4863 Advanced Visual Basic .NET Programming

This advanced course teaches the enterprise functionality of VB .NET, including accessing databases, reporting, creating web services, addressing security and deploying applications. Students will learn the necessary tools for developing in a modern distributed application environment. Further attention will be given to such topics as: Accessing Data (ADO.NET); Interoperability; Creating Data-Bound Applications; Introduction to ASP.NET; Managing Data with ADO.NET DataSets; Creating Windows Services; Creating and Consuming XML Web Services; Data Binding Techniques; Security; Multiple Document Interfaces (MDI) and Graphics (GDI+) and Deployment. As part of their class project, students will be required to write their own macros using VBA for excel or develop their own small applications to automate much of the routine found in the work place. The course focuses on hands-on lab experience.

 

Back to Top

(For the overall course structure and requirements, click here