27
Makerere University Faculty of Science and Faculty of Computing and Information Technology Proposed Revised Bachelor of Science with Computer Science major and minor programmes.

MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Makerere UniversityFaculty of Science and Faculty of

Computing and Information Technology

Proposed Revised Bachelor of Science with Computer

Science major and minor programmes.

February 2008

Page 2: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

TABLE OF CONTENTS

1. Introduction............................................................................................................................22. Current curriculum.................................................................................................................43. Proposed revised curriculum..................................................................................................64. Grading of Results..................................................................................................................85. Graduation Requirements.......................................................................................................86. Course descriptions/outlines..................................................................................................9

Faculty of Science & Faculty of Computing and Information Technology, Makerere University

i

Page 3: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

1. Introduction

Modern business, science and engineering have become increasingly reliant upon computation as an aid to imagination, design, and research. It has become increasingly clear that solving complex economics problems and large-scale scientific and engineering problems usually requires knowledge that straddles several disciplines. The Department of Computers Science in the Faculty of Computing and Information Technology (CIT) runs courses in collaboration with Faculty of Science (FoS). These are courses taken by students studying computer Science as a major subject or minor area of study under the BSc. Degree programme

In comparison to most academic disciplines, computer science is an usual filed in that whereas courses taught in most disciplines remain the same over a very long time, computer science courses are very dynamic. It is a discipline that changes according to the present day’s technology demands in many aspects . Courses presently under the Bsc Degree Programme are not in line with courses under the Bachelor of Science in Computer Science Degree programme in a number of aspects. Both the Faculty of CIT and the Faculty of Science are proposing to rationalise these courses with an overall objective of revamping the Bsc Degree Programme so that courses taught to students taking Computer Science as a major field of study are given relevant background if they consider pursuing careers further in computer science after graduation. The proposed changes are to ensure that those courses on the Bsc Degree Programme (commonly referred to as Bsc Flat) are the same as those on the Bsc Computer Science Degree Programme. It should be clearly pointed out that this proposal seeks to revise an existing programme and does not at all attempt to create any new programme. For that reason, the key areas where modifications have been found necessary are the curriculum (Section 3 ) and graduation requirements (Section 5) of this proposal. For the same reason it has been found unnecessary to reproduce the entire programme write-up but have instead presented the proposal along the key areas that constitute the changes in the existing programme. In revising this programme, an attepnt has been made in identifying courses where both contents and Credit unit weight maintain the required semester load limits.The overall result is that the Bsc Degree Programme has been enriched with the introduction of new computer science courses covering the original courses in a modified format. In addition., matching courses taught in the Faculty of Science have been identified and selected. Students on the Bsc Degree Programme will now study with BsC Computer Science students . Further, there will no additional resources to run this programme as this exercise is simply a a rationalisation of an existing programme.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 2 -

Page 4: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 3 -

Page 5: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

2. Current curriculum

The programme is divided into six semesters with courses taken from Computer Science and those taken from mathematics. While the FCIT has been strict on the courses they would like such students to take, the FoS has been allowing students to take any mathematics courses running in that Semester for that year except for first year courses that are all compulsory (core). Student have normally been taking six courses which number may include options chosen from approved electives.

The courses currently on the Bsc Programme are shown in Table 1 below where PH, LH, TH, CH and CU stand for Practical Hour, Lecture Hours, Tutorial Hours, Contact Hours and Credit Units respectively.:

Table 1: Courses currently on the Bsc Degree Programme

Code Course Pre-requisite

PH TH LH CH CU

CourseFIRST YEAR

Semester ICore CoursesCSC 1100 Computer Literacy None 30 45 60 4CSC 1111 Computer Architecture 1 None 45 45 3MTH 1101 Calculus I None 15 30 45 3MTH 1102 Linear Algebra I None 15 30 45 3

Electives:None

Semester IICore CoursesCSC 1211 Computer Programming 1 None 30 45 60 4CSC 1212 Systems Programming 1 None 30 45 60 4MTH 1201 Calculus II MTH1101 15 30 45 3MTH 1202 Elements of Probability &

StatisticsNone 15 30 45 3

Electives:None

SECOND YEARSemester ICore CoursesCSC 2100 Data Structure and algorithms 15 45 60 4CSC 2111 Database Management Systems I 30 30 45 3Any courses running in the Department of Mathematics in Semester I for Second year students

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 4 -

Page 6: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Code Course Pre-requisite

PH TH LH CH CU

Electives: CSC 2112 Systems Programming II 30 45 60 4CSC 2104 Complexity and Computability 45 45 3

Semester IICore coursesCSC 2211 Computer Networking I 30 45 60 4CSC 2200 Operating Systems 15 45 60 4Any courses running in the Department of Mathematics in Semester II for Second year students

Electives: CSC 2213 Database Management Systems

II15 45 60 4

CSC 2212 Computer Programming II 30 45 60 4

THIRD YEARSemester ICore CoursesCSC 3111 Computer Architecture II 45 45 3CSC 3103 User Interface Design 30 45 60 4Any course running in the Department of Mathematics in Semester I for Third year students

Electives:

CSC 3101 Software Engineering 15 45 60 4CSC 3112 Systems Programming II 30 45 60 4CSC 3113 Computer Networking II 30 45 60 4

Semester IICore CoursesCSC 3201 Project 150 75 4CSC 3212 Systems Analysis and Design 15 45 60 4Any course running in the Department of Mathematics in Semester II for Third year students

Electives:

CSC 3212 Management Information Systems

15 45 60 4

CSC 3114 Systems Programming IV 30 45 60 4

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 5 -

Page 7: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

3. Proposed revised curriculum The revised programme will be divided into six semesters on full-time basis. Student will be required to take a combination of carefully selected courses both in FCIT and in the FoS.. They will normally take six courses which number may include options chosen from approved electives

All students will be encouraged to make extensive use of computing facilities outside the scheduled lecture and tutorial hours. The complete set of courses that make up this revied programme of study are shown in Table 2. below, where PH, LH, TH, CH and CU stand for Practical Hour, Lecture Hours, Tutorial Hours, Contact Hours and Credit Units respectively.

Table 2: Proposed Revised Bachelor of Science with Computer Science - Major and Minor programmes

Code Course Pre-requisite

PH TH LH CH CU

CourseFIRST YEAR

Semester ICore CoursesCSC 1100 Computer Literacy None 30 45 60 4CSC 1101 Computers None - 45 45 3MTH 1101 Calculus I None 15 30 45 3MTH 1102 Linear Algebra I None 15 30 45 3

Electives:None

Semester IICore CoursesCSC 1200 Programming methodology CSC1100 30 45 60 4CSC 1202 Principles of programming None 30 45 60 4MTH 1201 Calculus II MTH1101 15 30 45 3MTH 1202 Elements of Probability &

StatisticsNone 15 30 45 3

Electives:None

SECOND YEARSemester ICore CoursesCSC 2100 Data Structure and algorithms 15 45 60 4CSC 2101 Computer Programming 30 45 60 4MTH 2102 Probability Theory MTH1102 15 30 45 3MTH 2103 Ordinary Differential Equations MTH1102 15 30 45 3

Electives: CSC 2205 Principles of programming 30 45 60 4

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 6 -

Page 8: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Code Course Pre-requisite

PH TH LH CH CU

languagesCSC 2104 Complexity and Computability 45 45 3MTH 2101 Real Analysis I MTH1101,

MTH120115 30 45 3

Semester IICore coursesCSC 2205 Principles of programming

languages30 45 60 4

CSC 2200 Operating Systems 15 45 60 4CSC 2204 Research Design and

Implementation30 30 2

MTH 2203 Numerical Analysis I MTH1102,MTH1201

15 30 45 3

MTH 2206 Mathematical Logic None 15 30 45 3MTH 3203 Linear Programming MTH1102 15 30 45 3

Electives: CSC 2201 Computer Architecture 45 45 3CSC 2202 Systems Analysis and Design 15 45 60 4CSC 2203 Database Languages 30 30 45 3

THIRD YEARSemester ICore CoursesCSC 3109 Computer Networks 16 52 60 4CSC 3103 User Interface Design 30 45 60 4MTH 3142 Graph Theory 15 30 45 3MTH 3102 Numerical Analysis II 15 30 45 3

Electives:CSC 3100 Database Management Systems 30 45 60 4CSC 3101 Software Engineering 15 45 60 4CSC 3106 Distributed Systems

Development15 45 60 4

MTH 3104 Dynamical Systems MTH 1201, MTH 2103

15 30 45 3

MTH 3106 Stochastic processes MTH1102, MTH2102

15 30 45 3

Semester IICore CoursesCSC 3201 Project 150 75 4BIT 3204 Enterprise Network Management 30 45 60 4

Electives:

BIT 3200 Business Intelligence and Data 30 45 60 4

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 7 -

Page 9: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Code Course Pre-requisite

PH TH LH CH CU

WarehousingCSC 3202 Concepts of CAD/CAM 30 45 60 4

4. Grading of Results 4.1 Grade PointThe computed result of each course will continue be graded out of a maximum of 100 marks and assigned a Letter Grade and a Grade Point (GP) as follows:

MARKS % LETTER GRADE GRADE POINT (GP)80-100 A 5.075-79.9 B+ 4.570-74.9 B 4.065-69.9 B- 3.560-64.9 C+ 3.055-59.9 C 2.550-54.9 C- 2.045-49.9 D+ 1.540-44.9 D 1.035-39.9 D- 0.5Below 35 E 0.0

The following additional letters will be used, where appropriate:

W - Withdraw from course;I - Incomplete;AU - Audited course only;P - Pass;F - Failure.

4.2 Minimum Pass Mark

The minimum pass grade for each course shall be 2.0 grade points.

4.3 Calculation of Cumulative Grade Point Average (CGPA)

The CGPA shall be calculated using Senate guidelines.

5. Graduation Requirements

To qualify for a degree award in Bachelor of Science (with computer science major), a student must pass ALL CORE courses and accumulate a minimum of 110 CU from courses passed.

To qualify for a degree award in a Bachelor of Science (with computer science minor), a student must pass ALL FIRST year courses and accumulate a minimum of 110 CUs from courses passed.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 8 -

Page 10: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

6. Course descriptions/outlines

CSC 1110: Computer Literacy (4 CU)Introduction to Computers and Computer Systems: Basic computer processing, software categories, digital computers, binary numbers; Computer architecture, input/ output devices, main and secondary memory, central processing unit. Introduction to operating systems(Windows e.g. Windows98 and Windows NT 4.0,Linux,Unix). Word Processing: Producing documents with formats and styles; Use Mail merge to create letters; Manipulate text and graphics and documents; Create templates and forms for use; Import/ Export other documents into MS Word. Spreadsheets and Modelling: Use MS Excel for budgeting and analysing financial data; Use MS Excel for analysing statistical data; Add charts and objects to worksheets; Import data from other applications such as databases; Carry out simulations and modelling using spreadsheets. Lotus. MS PowerPoint: Produce excellent presentations with MS PowerPoint. Others: Core Draw; Photo Paint (Photo draw); FrontPage; Publisher; Outlook. Web Technology and Networks: HTTP, Hyper Text Mark-up Language (HTML), the basics of the Internet, Local-Area and Wide-Area Networks, the World-Wide Web(WWW), and Uniform Resource Locators(URLs). Database Management using Microsoft Access.

CSC 1101: Computers (3 CU)The students shall get an understanding of the logical architecture of a computer and the connection between high-level, low-level and machine programming language. Further more, the course will introduce the fundamental concepts of digital electronics. The course gives an introduction to architecture and organisation of computers, both functional and physical components. Further aspects are: digital logic, bus-systems, coding, number systems and arithmetic, intern and extern memories, I/O -systems, CPU organisation, control unit, RISC/CICS, parallel processing; Memory and Memory Management, Files Systems, Interfaces, Communication, Assembly programming.

MTH 1101 Calculus I 3(3-0)Functions: Polynomials (linear, quadratic) rational, composite functions. Transcendental functions: logarithmic and exponential functions; the trigonometric functions and their inverses; the hyperbolic functions and their inverses.Informal definitions of limits of functions and continuity; one sided limits; removable discontinuity. Techniques and/or theorems for evaluation of limits. The formal - definitions of a limit; applications to definition and properties of continuous functions. Use of the definition in proofs and problems of limits and continuity.Differentiation: Definition of a derivative, continuity and differentiability. Rules and/or theorems for determining derivatives. Inverse functions: their derivatives and graphs. Differentials: application to approximation. Rolle’s Theorem, Mean Value Theorem (Cauchy’s Mean Value Theorem), L’Hospital’s rule. Anti-derivatives: techniques and/or theorems for determining anti-derivatives. Integration. Definite Integral: Riemann sums. The definite integral and area. The Fundamental Theorem of Calculus: application to evaluation of definite integrals (by substitution). Functions defined by integration: f(t) dt as an anti-derivative of f(x). Mean Value Theorem for integrals.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 9 -

Page 11: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

MTH 1102 Linear Algebra I 3(3-0)Solutions of systems of linear equations: Gaussian and Gauss-Jordan elimination, Matrices, elementary matrices, echelon forms, determinants, Cramer’s Rule. Vectors in 2- and 3-space: norm, dot and cross products, projections, equations of lines and planes.General vector spaces: Euclidean n-space, subspaces, linear independence, spanning sets, basis, dimension, row and column spaces, rank.Linear transformations: kernel, range, matrix of linear transformation, similarity. Eigenvalues and eigenvectors: diagonalisation, orthogonal diagonalisation, symmetric matrices.

CSC 1200: Programming Methodology (4 CU)The course aims at giving a good basis of programming principles and practice. A high-level programming language such as C will be used to impart a discipline of structured programming. Emphasis will be put on well-structured and correctly designed programs. The course gives an introduction to the basic concepts of algorithms, program structure, data structures and programming. Formal programming languages, syntactic description; Introduction to digital computing techniques using a high level language; Algorithms development using the top-down design approach; Use of programming constructs and data structures like arrays, stacks, queues, heaps, etc; Algorithms specification and verification.

CSC 1202: Principles of Programming (4 CU)The students will learn about object-oriented programming with Java. They will also be exposed to diverse applications of the Java programming language. This course is an introduction to the Java 26 programming language. The course will include an introduction to the concepts of object-oriented programming and will show how Java supports this programming paradigm. Students will learn about the Java environment and will write both applets (programs that execute in a Web browser) and applications (stand alone program). In addition to learning about basic language statements, students will also learn how Java provides support for such diverse applications as Web pages, multimedia, educational, etc.

MTH 1201 Calculus II 3(3-0) Taylor’s Theorem and applications. Sequences: the - N() definition of the limit of a sequence. Theorems on limits of sequences (and hence techniques for evaluation of limits of sequences). Series defined as partial sum of a sequence; Ration and comparison tests for convergence. Improper integrals. Differential Equations: First order (linear or separable). Applications to chemical, physical and/or biological processes. Second order linear equations with constant coefficients. Polar Coordinates: Sketching of curves given in polar coordinates; areas, tangents, and arc length. Vector Calculus: Vectors in a plane and space. Unit coordinate vectors. The dot product, and the cross product. Equations of lines and planes. Cylindrical (and spherical) coordinates. Vector-Valued functions: derivatives and integrals; applications to surface areas, volumes, arc-length, normals and tangents.

MTH 1202 Elements of Probability and Statistics 3(3-0)Statistical experiments, events and sample space. Definition of probability function. Conditional probability. Independent and mutually exclusive events. Usage of results in combinatorial theory in determining probabilities of events. Random Variables (discrete & continuous). The distribution function. Mean and variance. Common distributions: Geometric, Hyper-geometric, Binomial, Poisson, Rectangular, Exponential, Normal, Student’s - t, Chi - Square and F -

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 10 -

Page 12: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

distributions. Sampling: randomness, bias, Type 1 and Type II errors. Level of significance. Confidence intervals. Sample sizes and tests of significance for the mean and proportion of a population.

CSC 2100: Data Structures and Algorithms (4 CU)Application and implementation of strings, arrays, stacks queues, lists, trees andgraphs. Abstract data types; storage management. Sorting, searching, merging, reference and crossreferencing files. Design and analysis of algorithms, complexity of algorithms, big-O and small-O notation. Binary trees, B-trees, B*-trees, and AVL-trees. Study of disk and tape file organizations. Creation of sequential, direct, and indexed sequential files. Hashing techniques and address overflows. Primary and secondary key usage, inverted and linked-list files. Semantic Nets, frames.

CSC 2101: Computer Programming (4 CU)To develop an ability to apply problem -solving techniques to the development of computer programs; To develop an ability to design, implement, test and document computer programs using a structured high-level programming language. Program design methodology. Modular programming: Writing good interfaces, implementation issues, using good obstructions. Programming for efficiency, style issues. Introduction to internal workings of the computer. Introduction to programming paradigms: Object Oriented Programming(OOP),functional programming, logical programming.

CSC 2104: Complexity and Computability (3 CU)To introduce a series of powerful theoretical machines, the idea of non-computable and intractable problems. Finite state machines and regular languages: Deterministic and non deterministic machines; Equivalence and minimization; Regular expressions and regular grammars; Kleene’s theorem. Push-down automata and contextfree grammars; Normal forms of grammars; Top-down and bottom-up parsing. Turing machines and computability; Church’s thesis; Simple examples of non-computable problems; NP-Computable problems.

MTH 2101 Real Analysis I 3(3-0)

Logic and techniques of Proof

Real Numbers: What is a real number? Absolute values, intervals, inequalities, The Completeness Axiom, Countable and Uncountable sets, Real valued functions, Subsets of R – open, closed, bounded, Neighbourhoods, Limit points

Sequences of Real Numbers: Convergent sequences, Limit theorems, Monotone sequences, Cauchy sequences, Subsequences

Limits and Continuity: Formal definition of a limit, Continuous functions, Intermediate and extreme value theorems, Uniform continuity, Monotone functions and inverses

Differentiation: The derivative of a function, Mean value theorems, L’Hospital’s rule, Derivatives of higher order, Taylor’s theorem

Series of Real Numbers: Convergence of infinite series, Convergence tests, Absolute and conditional convergence, Rearrangements and products, Square summable sequences

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 11 -

Page 13: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Sequence and Series of functions: Pointwise convergence, Uniform convergence, Uniform convergence and continuity, Uniform convergence and integration, Uniform convergence and differentiation, Power series, Differentiation and Integration of Power series, Taylor and Maclaurin series

Riemann Integral

MTH 2102 Probability Theory 3(3-0)

Probability Spaces: General multiplicative rule, Boole’s inequality and Bayes Theorem.Random Variables: Probability density function, distribution function. Expectation. Markov and Chebychev inequalities and moments and Generating functions. Common distributions: Bernoulli, Binomial, Poisson, Geometric, Negative Binomial. Exponential, Gamma, Beta, Normal, Weibull. Interrelationships, mgf and pgf where applicable. Multivariate distributions: Discrete random variables continuous random variables. Joint, marginal and conditional distributions. Conditional Expectation. Variance,

Covariance and Correlation. Independence. Distribution of functions of random variables including sums and quotients. The mgf technique. Transformations using Jacobians. Distribution of the sample mean. Order statistics. Law of large numbers. The central Limit Theorem.

MTH 2103 Differential Equations I 3(3-0)

First order linear equations. Second order linear equations. Homogeneous equations with constant coefficients, equations with variable coefficients, the Wronskian, order reduction, variation of parameters, method of undetermined coefficients. Power series solutions of first and second order equations. Linear equations of nth order. Examples of special functions obtained as solutions of ordinary differential equations. Systems of first order equations. Reduction of nth order to a system of first order equations. The existence and uniqueness of solutions. Introduction to difference equations.

CSC 2200: Operating Systems (4 CU)The course will provide the students with basic knowledge on using, evaluating, and managing existing operating systems. Overview of different kinds of operating systems. Familiarization with major operating systems principles using the UNIX (or MULTICS) family as case study. Internal structure in operating systems. Deadlock. Process administration. CPU scheduling algorithms. Virtual memory. File system and file administration. Management of Critical Machine Resources - the processor and processes, main memory, storage limitation, secondary storage and I/O devices. Procedure activation, system structure, performance evaluation, security and recovery procedures. Parallel processes. Synchronisation. Simple parallel programming. Script programming in UNIX with practical exercises. Process communication usingsystem calls.

CSC 2201: Computer Architecture (3 CU)To give a detailed knowledge about the computer hardware and logic design of digital computer systems. Computer Organization and Structures (based on the Von Neumann architecture. Processor unit organization: control unit, ALU, processor register and internal buses; hardwired and microprogrammed control. Instructions sets, formats and types. Addressing modes, stacks, pipelining, RISC/CISC concepts. Memory organization and addressing; Memory hierarchy and cache. Special-purpose coprocessors. I/O facilities and storage devices. The Operating System level.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 12 -

Page 14: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

CSC 2202: Systems Analysis and Design (4 CU)To give in-depth knowledge about all the steps involved in analysing, designing, developing, testing and implementing a computer system .The System Development Process (Steps of Systems Analysis); Project Selection (Sources for Ideas for Projects, Selection Criteria); Feasibility Study: Cost-Benefit Analysis, Definition Phase, Analysis Phase, Design Phase, Implementation Phase, Evaluation Phase; Review. Techniques: Fact Gathering, Interviewing and Others; Charting Techniques: Procedure Charts, Flowcharts, HIPO Chart, Others; Decision tables; Simulation: Desk Simulation, Benchmarks, Simulation Entirely by Software. General Systems Considerations: Data Capture and Output; Data Management and Security; Methods and Procedures; Data Communications; Systems Maintenance; User Involvement. Project Management: Problems of Implementation {Personal Training, File Creation and Conversion, Programming, System Testing, Design Changes, Planning for Implementation; Management Control-Control over Systems Development, Project Control. Case Studies.

CSC 2203: Database Languages (4 CU)To give in-depth knowledge about the commonly used database manipulation languages. Given a relational database schema we will illustrate the use of these languages in manipulating databases. A brief introduction to relational database schemas will be given. Database languages: SQL, Advanced SQL, Query-By-Example (QBE), Visual Basic.

CSC 2204: Research Design and Implementation (2 CU)To acquaint the students with the basic guidelines on how to carry out research and produce a good Thesis/ Report. Developing the proposal; Preparation of the proposal; Approval of the studyplan; Conduct of the study; Writing the manuscript; Defense (Presentation) of the Thesis Report).

CSC 2205: Principles of Programming Languages (3 CU) To introduce the student to the basic concepts of programming languages and principles of language design. Formal definition of structures: formal description of syntax and semantics; Meta Language; Comparative studies of programming languages and language design concepts: structural organization, structures for names, data abstractions, concurrency; Functional, object-oriented, and logic programming languages and concepts; Language design principles.

MTH 2203 Numerical Analysis I 3(3-0)Errors and their propagation. Lagrange’s interpolating polynomial, iterated interpolation, finite difference interpolating polynomials. Numerical differentiation. Numerical integration (only Newton Cotes). Adoptive iteration, solution of non-linear equations - methods of bisect, Secant, regular falsi and Newton, Raplison. Systems of non-linear equations. Systems of linear equations-methods of Gauss, triangular decomposition, Jacobi and Gauss-seided iterations.

MTH 2206 Mathematical Logic 3(3-0)Propositional Calculus. Axiomatic system for propositional calculus, modus ponens, deduction principle; completeness, consistency. Predicate Calculus. Variables, constants, predicate letters, function letters, terms, atomic formulae, well-formed formulae, qualifiers, free and bound variables. Interpretations, satisfiability, truth models, logically valid proofs, logical implication, logical consequence. First order theories, logical axioms, proper axioms, inference rules and their restrictions, deduction principle. First order axioms, proper axioms, inference rules and their

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 13 -

Page 15: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

restrictions, deduction principle. First order theories with equality, reflexivity of equality, substitutivity of equality, the scope of an assumption in a demonstration. Applications of Logic in Mathematics Abstract groups, abstract fields; existence and uniqueness of solutions of algebraic equations, solution of simultaneous linear equations; ordered fields.

MTH 3202 Linear Programming 3(3-0)The general linear programming (LP) problem; the algebra and geometry of LP models. Geometric solution of LP problems, basic and optimal solutions to an LP problem. The constraint set as a convex polytype. The connection between extreme points of the constraint set and the basic solutions. The simplex method. The derivation of the conditions for existence and optimality of a solution. The initial basic solution: the big - M (penality) method and the dual simplex method. The two phase simplex method. The dual problems. The properties of duality. The mutual primal - dual simplex algorithm. Post-optimality analysis: i.e. investigation of how changes in the objective function and the constraints of an LP problem would affect the current optimal solution.

MTH 3104: Dynamical systems (3 CU)Systems of linear ordinary differential equations (autonomous and non-autonomous). The fundamental matrix solutions and applications.Systems of non-linear differential equations: equilibrium solutions. The phase diagram and trajectories. Stability: Poincare stability, Liapunov stability and asymptotic stability. Introduction to bifurcation theory and chaos.

CSC 3100: Database Management Systems (4 CU)To provide comprehensive knowledge of design, structure, theory and usage of a simple Database Management Systems(DBMSs). Concepts and methods in the definition of management of databases; Architecture of a DBMS; Data Models: relational, hierarchical and network models; Relations, attributes, domains, etc.; Data manipulation languages; Programming in a database environment: SQL, ORACLE; Topics in database security, integrity, recovery, and concurrence; File organizations: sequential, random, indexed sequential, hierarchical, heap, has-addressed, inverted.; Database administration; Distributed database systems.

CSC 3101: Software Engineering (4 CU)To introduce the concepts and tools for designing large software projects. Introduction:What is software engineering? Phases in the development of software. Software Management: Planning and controlling a software development project. Requirements analysis: Requirements specification, humans as information sources, tools for documenting the requirements (SADT, PSL/PSA, Ada-based analysis methods). Software design: Abstraction, modularity, information hiding, design methods, design documentation. Testing: Test objectives, verification and validation, manual test techniques, techniques for functional and structural testing.

CSC 3103: User Interface Design (4 CU)Methods and techniques for designing user interfaces will be presented. These will include command-based systems, menus, graphical interfaces, desktop techniques and direct manipulation. Principles for user-friendly interfaces will be discussed using case studies from commercial programs (Windows, Word, DOS, UNIX, LINUX, others). The students will throughout the course, get a thorough understanding of the nature of man-machine communication. This will be applied in the task of designing user interfaces.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 14 -

Page 16: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Human performance: memory, perception, skill learning, task closures motivation, performance, motor skills, attention; Types of users: casual, naive, learning, expert; Collecting and evaluating behavioral data; System performance and its effect on users: response data; Styles of interaction: command language, form-fill, direct manipulation, hierarchical/network systems; desk-top metaphor, browsing; Help mechanisms: conventional, contextsensitive, hyper text, error handling, implicit cues; Graphics: tools and graphical user interfaces; Dialogue design methods: dialogue principles, dialogue description languages; task analysis and ergonomics.

CSC 3106: Distributed System Development (4 CU)The course focuses on conceptual and practical aspects of designing, implementing, and debugging complex concurrent and distributed software systems. Topics covered include event-driven software architectures, distributed object computing, and developing, documenting, and testing applications using object-oriented frameworks and design patterns. Techniques that enable the construction of reusable, extensible, efficient, and maintainable concurrent and distributed software systems are emphasized. Abstraction based on patterns and object-oriented techniques will be crucial throughout the course, and their application studied in several in-depth case studies.

CSC 3109 Computer networks (4 CU)The course gives an introduction and an overview of the important concepts in data networks. Topics include problems, which occur at various levels of a layered communications model, and how these problems can be solved. In particular, the course emphasizes the levels up to and including the transport layer, and how one can implement applications based on the services provided by the transport layer. An important part of the course is network programming using the socket paradigm (Internet addressing, UDP, TCP, HTTP). Security aspects are covered in another course.

MTH 3102 Numerical Analysis II (3 CU)Orthogonal polynomials. Gauss Quadrature. Adoptive Quadrature, Taylor series, Least squares and Tchebyshev approximations. Solution of ordinary differential equations (only initial value problems). Numerical solution of partial differential equations using finite differences.

MTH 3142 Graph Theory (3-0)Basic Concepts: Subgraphs and complements, Walks, Trails, paths and circuits, connectedness and components of a graph, operations on graphs, cut-vertices and separable graphs, special graphs, Isomorphism. Trees: spanning trees and forests, cutsets and cuts.Eulerian and Hamiltonian graphs. Directed graphs: graphs and relations, directed trees, arborescences, directed Eulerian graphs, directed spanning trees and directed Euler trails, directed Hamiltonian graphs, acyclic directed graphs. Matrices of a graph: Incidence Matrix, cut Matrix, circuit Matrix, adjacency Matrix. Planarity and Duality: Planar graphs, Euler’s formula, Kuratowski’s Thm and other characterisations of planarity, dual graphs, planarity and duality. Connectivity: connectivity or vertex connectivity, edge connectivity, Menger’s Thm. Colouring: edge colouring and chromatic number, chromatic polynomials, the four-colour problem.

MTH 3106 Stochastic processes (3 CU)Introduction: specification of stochastic processes, processes with independent increments, stationary processes and Markov processes.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 15 -

Page 17: MAKERERE UNIVERSITY Computer Science 1 M…  · Web viewMakerere University. Faculty of Science and Faculty of Computing and Information Technology. Proposed Revised . Bachelor of

Revised Bachelor of Science with Computer Science major and minor programmes

Poisson processes: axioms and properties of Poisson processes, homogeneous Poisson process, Poisson process and related distributions:- inter-arrival time and waiting time distributions. Compound Poisson processes and non-homogeneous Poisson process.

Birth and death processes: Pure birth, pure death and simple birth-death processes.Branching processes: Properties of generating functions of branching processes, probability of extinction, distribution of total number of progeny.

Markov Chains: Introduction, definitions and examples, transition probabilities, higher transition probabilities: - Chapman-Kolmogorov equations, first passage and recurrence times, classification of states and of chains.

CSC 3201: B.Sc.CSC. Project (4 CU)Each student will pursue a lengthy programming project in any area of computer science.The project will be specified, designed and implemented, with one of the Professors/ Lecturers as adviser/ supervisor.

CSC 3202: Concepts of CAD/CAM (3 CU)To give the basic concepts of CAD/CAM. Concepts of modelling in CAD/CAM; Designing of specifications for interactive software packages in grafting; Designing and manufacturing applications; Design and development of algorithms; Methodologies of problem solving in design; Role of geometric models in CAD/CAM; Techniques of displaying models using computer optimization; Concepts of data representations in CAD/CAM problems; Discussion on large numbers of case studies involving software development of various problems in CAD/CAM.

BIT 3204 Enterprise Network Management (4CU)The infrastructure for network management. The internet and ISO models. SNMP, ASN.1.Structure of management information and MIB. Events and managed objects. EMS vs. NMS . NOC, remote and Web-based management tool. OAM&P Focus: Operation, maintenance, performance monitoring. Introduction of traffic engineering and load balancing.

BIT 3200 Business Intelligence and Data Warehousing(4CU)Business intelligence requires software to find and analyse information critical to successful decision making. This course covers a variety of techniques and software tools to assist management. Organizations with vision and courage are gaining competitive advantage by implementing data warehouses. Under the guidance of an executive Sponsor, a team of data administrators, database specialists, and organizational analysts creates these contemporary decision support environments. Building a data warehouse is fundamentally different than building a course area database for an operational system. In this course you will use such data warehouse (DW) concepts as partitioning, granularity, record of source, and metadata as you learn how to build a viable decision support environment. You will further your understanding of such topics as architect development, data migration and integration, use of operationaldata stores, and transactional systems. At the end of the course the students must be able to design and implement a mini data warehouse.

Faculty of Science & Faculty of Computing and Information Technology, Makerere University - 16 -