Undergraduate Handbook - School of Computing and Informatics ...
Undergraduate Handbook - School of Computing and Informatics ...
Undergraduate Handbook - School of Computing and Informatics ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Contacts<br />
CIT Management<br />
Dean<br />
Pr<strong>of</strong>. Venansius Baryamureeba<br />
Email: barya@cit.mak.ac.ug<br />
Deputy Dean (Academic Affairs)<br />
Dr. Idris Rai<br />
Email: rai@cit.mak.ac.ug<br />
Deputy Dean (Graduate Studies & Research)<br />
Dr. Jude Lubega<br />
Email: jlubega@cit.mak.ac.ug<br />
Head, Department <strong>of</strong> Computer Science<br />
Dr. John Ngubiri<br />
Email: ngubiri@cit.mak.ac.ug<br />
Head, Department <strong>of</strong> Information Systems<br />
Dr. Agnes Rwashana Semwanga<br />
Email: asemwanga@cit.mak.ac.ug<br />
Head, Department <strong>of</strong> Information Technology<br />
Dr. Josephine Nabukenya<br />
Email: josephine@cit.mak.ac.ug<br />
Head, Department <strong>of</strong> Networks<br />
Dr. Benjamin Kanagwa<br />
Email: bkanagwa@cit.mak.ac.ug<br />
Dept <strong>of</strong> Innovation & S<strong>of</strong>tware Development<br />
Paul Bagyenda<br />
Email: Bagyenda@cit.mak.ac.ug<br />
E-Learning Coordinator<br />
Joseph .M. Ssemwogerere<br />
Email: joseph@cit.mak.ac.ug<br />
University General Contact<br />
P.O. Box 7062 Kampala, Ug<strong>and</strong>a<br />
Tel: (256-414) 532631-4/540436<br />
Telegragh “Makunika”<br />
Faculty Accountant<br />
Consolate Komugisha<br />
Email: accountant@cit.mak.ac.ug<br />
Faculty Registrar<br />
Peace B. Tumuheki<br />
Email: ptumuheki@cit.mak.ac.ug<br />
Head, Corporate Relations Office<br />
Michael Niyitegeka<br />
Email: mniyitegeka@cit.mak.ac.ug<br />
Head, Department <strong>of</strong> ICT Support Services<br />
Johnson Mwebaze<br />
Email: jmwebaze@cit.mak.ac.ug<br />
Head, Human Resources Office<br />
Rosette Birungi<br />
Email: rbirungi@cit.mak.ac.ug<br />
University Administration<br />
Vice Chancellor<br />
Email: vc@admin.mak.ac.ug<br />
Deputy Vice Chancellor (Academic Affairs)<br />
Email: dvaa@acadreg.mak.ac.ug<br />
Deputy Vice Chancellor (Finance & Administration)<br />
Email: dvcfa@admin.mak.ac.ug<br />
University Secretary<br />
Email: unisec@admin.mak.ac.ug<br />
The Academic Registrar<br />
Email: acadreg@acadreg.mak.ac.ug<br />
The Dean <strong>of</strong> Students<br />
Email: dos@makdos.mak.ac.ug<br />
The University Bursar<br />
Email: unibursar@nance.mak.ac.ug<br />
The University Library<br />
Email: mmusoke@mulib.mak.ac.ug<br />
Directorate for ICT Support (DICTS)<br />
Email: helpme@dicts.mak.ac.ug<br />
University General Contact<br />
P.O. Box 7062 Kampala, Ug<strong>and</strong>a<br />
Tel: (256-414) 532631-4/540436<br />
CIT General Contact<br />
Postal Address:<br />
Makerere University Faculty <strong>of</strong> <strong>Computing</strong> & IT,<br />
P.O. Box 7062 Kampala, Ug<strong>and</strong>a<br />
Physical Address:<br />
Plot 56, Makerere University Pool Road,<br />
W<strong>and</strong>egeya Kampala<br />
Tel: +256 414 540628<br />
Fax: +256 414 540620<br />
Email: info@cit.mak.ac.ug<br />
Website: www.cit.mak.ac.ug<br />
Physical Address:<br />
Plot 56, Makerere University Pool Road,<br />
W<strong>and</strong>egeya Kampala
List <strong>of</strong> Acronyms<br />
BIS Bachelor <strong>of</strong> Information Systems<br />
BIT Bachelor <strong>of</strong> Information Technology<br />
BSc Bachelor <strong>of</strong> Science<br />
BSc CS Bachelor <strong>of</strong> Science in Computer Science<br />
BSc.SE Bachelor <strong>of</strong> Science in S<strong>of</strong>tware Engineering<br />
CCA Certificate in Computer Applications<br />
CCNA Cisco Certified Network Associate<br />
CCNP Cisco Certified Network Pr<strong>of</strong>essional<br />
CGPA Cumulative Grade Point Average<br />
CIT Makerere University Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology<br />
CU Course Unit<br />
CS Computer Science<br />
DCSE Data Communications <strong>and</strong> S<strong>of</strong>tware Engineering<br />
DCSIT Diploma in Computer Science & Information Technology<br />
EUTP End User Training Programme<br />
GMAT Graduate Management Admission Test<br />
ICDL International Computer Driving License<br />
ICT Information Communication Technology<br />
IT Information Technology<br />
MAK Makerere University<br />
MCDBA Micros<strong>of</strong>t Certified Database Administrator<br />
MCSA Micros<strong>of</strong>t Certified Systems Administrator<br />
MCSD Micros<strong>of</strong>t Certified Solutions Developer<br />
MCSE Micros<strong>of</strong>t Certified Systems Engineer<br />
MCT Micros<strong>of</strong>t Certified Trainers<br />
MOS Micros<strong>of</strong>t Office User Specialist<br />
MSc Master <strong>of</strong> Science<br />
OCA Oracle Certified Associate<br />
OCP Oracle Certified Pr<strong>of</strong>essional<br />
PGD Postgraduate Diploma<br />
PhD Doctor <strong>of</strong> Philosophy<br />
3
MAKERERE UNIVERSITY<br />
FACULTY OF COMPUTING AND INFORMATICS TECHNOLOGY<br />
CIT Value Statement:<br />
Makerere University Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology is an innovative <strong>and</strong> industry oriented<br />
Faculty, pursuing excellence in teaching, learning, cutting edge value-added research <strong>and</strong> consultancy, community<br />
outreach, as well as providing a vibrant student life.<br />
CIT Vision Statement<br />
To be a leader in <strong>Computing</strong> <strong>and</strong> ICT training, research <strong>and</strong> consultancy services on the African continent:<br />
Makerere University Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology is an innovative <strong>and</strong> market-oriented<br />
institution, pursuing inquiry, discovery <strong>and</strong> application through excellence in teaching <strong>and</strong> learning, value-added<br />
research, cutting edge consultancy <strong>and</strong> vibrant student life.<br />
CIT Mission Statement<br />
To provide first class teaching, research <strong>and</strong> services in <strong>Computing</strong> <strong>and</strong> ICT responsive to national <strong>and</strong> international<br />
needs.<br />
About the <strong>H<strong>and</strong>book</strong><br />
This h<strong>and</strong>book describes the range <strong>of</strong> undergraduate programmes <strong>of</strong>fered by the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong><br />
<strong>Informatics</strong> Technology together with the information to assist the students in planning for their degree<br />
programmes. The h<strong>and</strong> book also describes the various short/certification courses <strong>of</strong>fered at the same Faculty.<br />
The h<strong>and</strong>book gives the details <strong>of</strong> qualifications/pre-requisite for the courses, students’ regulations as well<br />
as the details <strong>of</strong> the fees structure. Therefore, it is <strong>of</strong> great importance that Continuing <strong>and</strong> prospective students<br />
study this book with care for the purposes <strong>of</strong> mastering the University regulations <strong>and</strong> other issues pertaining to the<br />
programmes <strong>of</strong>fered. The Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology takes pride in <strong>of</strong>fering the best<br />
<strong>Computing</strong> <strong>and</strong> ICT services, quality teaching <strong>and</strong> research <strong>and</strong> it is within our joy that you find this h<strong>and</strong>book<br />
helpful as far as studying at CIT is concerned.<br />
4
Table <strong>of</strong> Contents<br />
Contacts ......................................................................................................................................................................... 2<br />
A Message from the Dean ............................................................................................................................................. 7<br />
1.0 INTRODUCTION ................................................................................................................................................... 9<br />
1.1 ABOUT CIT ............................................................................................................................................................ 9<br />
1.2 Academic Programmes Per Academic Department Taught at CIT ......................................................................... 9<br />
1.3 Short Courses Offered at The Faculty ................................................................................................................... 10<br />
1.4 Online Courses ...................................................................................................................................................... 11<br />
1.5 Physical Infrastructure <strong>and</strong> Facilities ..................................................................................................................... 11<br />
2.0 GENERAL INFORMATION FOR THE STUDENTS ......................................................................................... 12<br />
2.1 Application procedures .......................................................................................................................................... 12<br />
2.2 Registration ............................................................................................................................................................ 12<br />
2.3 Accepting or Declining a Place <strong>of</strong> Offer................................................................................................................ 12<br />
2.4 Withdrawal ............................................................................................................................................................ 13<br />
2.5 Fees <strong>and</strong> Other Requirements ................................................................................................................................ 13<br />
2.6 Refund <strong>of</strong> Tuition fees when a student has withdrawn from studies ..................................................................... 14<br />
2.7 University Fees structure ....................................................................................................................................... 14<br />
2.8 CIT Finance Department-Revenue Section ........................................................................................................... 15<br />
3.0 CONDUCT OF PROGRAMMES/COURSES ...................................................................................................... 16<br />
3.1 Definition <strong>of</strong> an Academic Programme <strong>and</strong> a Course ........................................................................................... 16<br />
3.2 Categorizing Courses ............................................................................................................................................. 16<br />
3.3 Semester Course Load ........................................................................................................................................... 17<br />
3.4 Assessment <strong>of</strong> Courses .......................................................................................................................................... 17<br />
3.5 Certificate <strong>of</strong> Due Performance ............................................................................................................................. 17<br />
3.6 Progression <strong>of</strong> Students ......................................................................................................................................... 17<br />
3.7 Discontinuation ...................................................................................................................................................... 18<br />
3.8 Re-taking a course ................................................................................................................................................. 18<br />
3.9 Change <strong>of</strong> Course .................................................................................................................................................. 18<br />
3.10 Change <strong>of</strong> Programme ......................................................................................................................................... 19<br />
4.0 CONDUCT OF EXAMINATION ......................................................................................................................... 20<br />
4.1 Sitting Semester Examinations .............................................................................................................................. 20<br />
4.2 Absence from Examination ................................................................................................................................... 20<br />
4.3 Deferred Examination ............................................................................................................................................ 20<br />
4.4 Grading <strong>of</strong> Marks ................................................................................................................................................... 20<br />
4.5 Calculation <strong>of</strong> the Cumulative Grade Point Average (CGPA) .............................................................................. 21<br />
4.6 Classification <strong>of</strong> a Degree/Diploma ....................................................................................................................... 21<br />
4.7 Approval <strong>of</strong> Examination Results .......................................................................................................................... 21<br />
4.8 Appeals .................................................................................................................................................................. 21<br />
4.9 Publication <strong>of</strong> results ............................................................................................................................................. 21<br />
4.10 Moderation <strong>and</strong> External Examiners ................................................................................................................... 22<br />
4.11 Malpractices in the conduct <strong>of</strong> Examinations ...................................................................................................... 22<br />
5.0 Accommodation <strong>of</strong> Religious Creed ...................................................................................................................... 23<br />
6.0 DEPARTMENT OF COMPUTER SCIENCE ...................................................................................................... 24<br />
6.1 Introduction ........................................................................................................................................................... 24<br />
6.2 Bachelor <strong>of</strong> Science in Computer Science (BSc CS) Programme ......................................................................... 24<br />
6.2.1 Overview ............................................................................................................................................................ 24<br />
6.2.2 Programme Structure .......................................................................................................................................... 26<br />
6.2.3 Course Unit Description ..................................................................................................................................... 27<br />
6.3 Computer Science Subject for BSc Programme .................................................................................................... 42<br />
6.4 Diploma in Computer Science <strong>and</strong> Information Technology Programme (DSCIT) .............................................. 52<br />
5
7.0 DEPARTMENT OF INFORMATION TECHNOLOGY ..................................................................................... 65<br />
7.1 Introduction ........................................................................................................................................................... 65<br />
7.2 Bachelor <strong>of</strong> Information Technology (BIT) Degree Programme........................................................................... 65<br />
8.0 DEPARTMENT OF INFORMATION SYSTEMS ............................................................................................... 84<br />
8.1 Introduction ........................................................................................................................................................... 84<br />
8.2 Bachelor <strong>of</strong> Information Systems (BIS) Programme ............................................................................................. 84<br />
9.0 DEPARTMENT OF NETWORKS ..................................................................................................................... 101<br />
9.1 Introduction ......................................................................................................................................................... 101<br />
9.2 Bachelor <strong>of</strong> Science in S<strong>of</strong>tware Engineering Degree (BSc SE) Programme ..................................................... 101<br />
9.2.1 Overview .......................................................................................................................................................... 101<br />
9.2.2 Programme Structure ........................................................................................................................................ 103<br />
9.2.3 Course Unit Description ................................................................................................................................... 104<br />
10.0 SHORT COURSES ........................................................................................................................................... 124<br />
10.1 Short Courses taught at CIT .............................................................................................................................. 124<br />
10.2 Certificate in Computer Applications (CCA) .................................................................................................... 124<br />
10.3 International Computer Driving License (ICDL) .............................................................................................. 125<br />
10.4 Micros<strong>of</strong>t Academy Programmes ...................................................................................................................... 125<br />
10.5 Staff Development Programmes ........................................................................................................................ 130<br />
10.6 Multimedia Certificate Courses: ........................................................................................................................ 130<br />
10.7 Oracle Programmes ........................................................................................................................................... 130<br />
10.8 Geographical Information Systems (GIS) ......................................................................................................... 131<br />
10.9 Cisco Academy Programmes ............................................................................................................................. 132<br />
10.10 Computer Systems Engineering ....................................................................................................................... 134<br />
11.0 Summary <strong>of</strong> the Duration/Time <strong>of</strong> Study/Training Fees for Short Courses ...................................................... 134<br />
12.0 Intake for Short Courses .................................................................................................................................... 135<br />
13.0 Application Forms ............................................................................................................................................. 136<br />
14.0 Registration Procedure....................................................................................................................................... 136<br />
6
A Message from the Dean<br />
Pr<strong>of</strong>. Venansius Baryamureeba<br />
Congratulations on your decision to undertake undergraduate studies at Makerere University Faculty <strong>of</strong> <strong>Computing</strong><br />
<strong>and</strong> <strong>Informatics</strong> Technology (CIT), <strong>and</strong> welcome to the CIT community. I hope you find your time at CIT<br />
rewarding, challenging <strong>and</strong> exciting.<br />
CIT is recognized internationally as an excellent teaching <strong>and</strong> research institution, providing a broad <strong>and</strong> balanced<br />
coverage <strong>of</strong> disciplines in <strong>Computing</strong>, Information <strong>and</strong> Technology. The high st<strong>and</strong>ing the Faculty enjoys is a result<br />
<strong>of</strong> a commitment to quality <strong>and</strong> excellence, reflecting the high st<strong>and</strong>ard <strong>of</strong> our students, staff <strong>and</strong> graduates. CIT is<br />
<strong>and</strong> has always been committed to excellent teaching, staff development, research, <strong>and</strong> consultancy <strong>and</strong> community<br />
enrichment among others.<br />
The rapid development <strong>of</strong> computing <strong>and</strong> information technology has led to a new era <strong>of</strong> learning <strong>and</strong> knowledge.<br />
The latest advancement in ICT has not only innovated our communication technology but has also exp<strong>and</strong>ed the<br />
new possibilities <strong>of</strong> which knowledge transfer can take place. We are in the midst <strong>of</strong> witnessing a sudden change in<br />
global economy <strong>and</strong>, in particular, in its sector that is closely associated with computing <strong>and</strong> <strong>Informatics</strong><br />
Technology. It is clear that people across the globe will continue to be influenced tremendously by the technology<br />
that is evolving, the science that still needs to be understood <strong>and</strong> revealed, <strong>and</strong> the systems that are still being<br />
created.<br />
CIT <strong>of</strong>fers Programmes in computing disciplines at all degree levels. In this h<strong>and</strong>book, you will find detailed<br />
descriptions for our programs at undergraduate level, <strong>and</strong> short courses in various fields that we <strong>of</strong>fer at the faculty.<br />
Our curricula are revised every 3 years so as to catch up with the rapid changes <strong>of</strong> computing disciplines, <strong>and</strong> foster<br />
for quality education with a global perspective. In addition, our Programmes have been carefully designed to ensure<br />
that each CIT student is well prepared for the working environment <strong>of</strong> the 21 st century. CIT courses help students<br />
become specialists in fields like Computer Networking, S<strong>of</strong>tware Engineering, Web Development, System Analysis<br />
& Design, System Management <strong>and</strong> Administration, IT entrepreneurship to mention but a few.<br />
As you may well know, CIT is the only place in Makerere University that is open 24/7/365 so at any time <strong>of</strong> the day<br />
or night you will find life at CIT. This is aimed at narrowing the ICT gap in the region by <strong>of</strong>fering additional<br />
education opportunities <strong>and</strong> support to many young people each year.<br />
The Faculty is devoted to providing its students with a high quality experience that is distinctive within the higher<br />
education sector. It is committed to listening to what students ‘customers’ want from their time at CIT. The<br />
academic staff, many <strong>of</strong> whom are international authorities in their specializations, provide invaluable input in terms<br />
<strong>of</strong> course content <strong>and</strong> delivery - equipping the graduates with enterprising, creative <strong>and</strong> innovative skills necessary<br />
for the global markets <strong>and</strong> that can respond to the ever changing global society needs.<br />
CIT has excellent facilities to enable teaching <strong>and</strong> learning. Examples include state-<strong>of</strong>-art computer labs that<br />
accommodate all students in the Faculty, wireless Internet connectivity across the faculty, etc. Last but not least, we<br />
have strong collaborations with internationally renowned IT companies such as IBM, Micros<strong>of</strong>t, Google, HP, Dell,<br />
etc who support our students <strong>and</strong> staff to attain various IT skills.<br />
7<br />
Dean
I wish you all the very best for your time at CIT.<br />
Pr<strong>of</strong>essor Venansius Baryamureeba<br />
DEAN<br />
8
1.0 INTRODUCTION<br />
1.1 ABOUT CIT<br />
Makerere University Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> Information Technology (CIT) was established by the University<br />
Council on December 15, 2004 by upgrading the Institute <strong>of</strong> Computer Science (founded in 1985) into a Faculty <strong>of</strong><br />
<strong>Computing</strong> & IT. It is the largest computing <strong>and</strong> ICT training, research <strong>and</strong> consultancy centre in Africa. CIT has<br />
attained a reputable status as a model faculty on the African continent with its achievements attained through its<br />
commitment to delivering excellent services in the area <strong>of</strong> computing <strong>and</strong> ICT education.<br />
The Faculty has 18 academic programmes at both undergraduate <strong>and</strong> graduate levels. As per 2009/2010 Academic<br />
year, the Faculty has a total number <strong>of</strong> 3589 undergraduate <strong>and</strong> 236 graduate students distributed in four academic<br />
departments. PhD enrollment st<strong>and</strong>s at 60 students.<br />
In addition, the faculty trains over 5000 students per year in short courses <strong>of</strong> which approximately 850 are<br />
undergraduate students.<br />
CIT has a big number <strong>of</strong> International students <strong>and</strong> this signifies that the programmes <strong>of</strong>fered at CIT are <strong>of</strong><br />
international repute. As per 2009/2010 Academic year, the numbers <strong>of</strong> international students registered at the<br />
Faculty were 593 undergraduate <strong>and</strong> 14 at graduate levels. However, this number does not include the number <strong>of</strong><br />
students at CIT who are undertaking the Short courses.<br />
Human Resource: The established academic staff strength <strong>of</strong> the Faculty st<strong>and</strong>s at 250 teaching staff including 30<br />
visiting <strong>and</strong> local pr<strong>of</strong>essors. The Faculty is also supported by 32 Administrative Staff, 31 support staff <strong>and</strong> 35 In-<br />
Service staff.<br />
Service/Support Units: In a bid to facilitate a first class student environment, the faculty has several service<br />
departments that focus on the following: ICT Support Services; S<strong>of</strong>tware Development <strong>and</strong> Innovations; Finance;<br />
Registration & day today concerns <strong>of</strong> students; Research; Human Resource; Corporate/Public Relations; <strong>and</strong> Quality<br />
Assurance.<br />
1.2 Academic Programmes Per Academic Department Taught at CIT<br />
Department Programmes Offered<br />
Computer Science PhD Computer Science (PhD.CS)<br />
M.Sc. Computer Science (M.Sc. CS)<br />
PGD Computer Science (PGDCS)<br />
B.Sc. Computer Science (B.Sc.CS)<br />
Information<br />
Technology<br />
Information<br />
Systems<br />
Diploma in Computer Science & IT (DCSIT)<br />
PhD Information Technology (PhD. IT)<br />
Master <strong>of</strong> Information Technology (MIT)<br />
PGD Information Technology (PGDIT)<br />
Bachelor <strong>of</strong> Information Technology (BIT)<br />
PhD Information Systems (PhD. IS)<br />
M.Sc. Information Systems (M.Sc.IS)<br />
PGD Information Systems (PGDIS)<br />
Bachelor <strong>of</strong> Information Systems (BIS)<br />
Networks PhD S<strong>of</strong>tware Engineering (PhD SE)<br />
M.Sc. Data Communication <strong>and</strong> S<strong>of</strong>tware Engineering (M.Sc. DCSE)<br />
PGD in Data Communication & S<strong>of</strong>tware Engineering (PGDDCSE)<br />
PGD ICT Policy & Regulations ( PGD ICT PR)<br />
B.Sc. S<strong>of</strong>tware Engineering (B.Sc. SE)<br />
B.Sc. Computer Engineering (B.Sc. CE) (Proposed)<br />
9
1.3 Short Courses Offered at The Faculty<br />
• Certificate in Computer Application (CCA)<br />
• CIT CISCO Academy Programmes<br />
o Cisco Certified Network Associate (CCNA)<br />
o Cisco Certified Network Pr<strong>of</strong>essional (CCNP)<br />
o IT Essentials I & II<br />
o International Computer Driving License (ICDL)<br />
• Multimedia Certified Courses<br />
o Certificate in Graphics <strong>and</strong> Image Editing<br />
o Certificate in Video Editing <strong>and</strong> Animation<br />
o Certificate in Dynamic Website Development<br />
• Micros<strong>of</strong>t Academy Programmes<br />
o Micros<strong>of</strong>t Certified Database Administrators (MCDBA)<br />
o Micros<strong>of</strong>t Certified Systems Engineers (MCSA)<br />
o Micros<strong>of</strong>t Certified Systems Administrators (MCSE)<br />
o Micros<strong>of</strong>t Office User Specialists (MOS)<br />
o Micros<strong>of</strong>t Certified Solutions Developer (MCSD)<br />
• Oracle Programmes<br />
o Oracle Certified Associate (OCA)<br />
o Oracle Certified Pr<strong>of</strong>essional (OCP)- Proposed<br />
• Staff Development Programme (Advanced End –User Training Programme in ICT Skills)<br />
• Geographical Information Systems(GIS)<br />
• Computer Systems Engineering Course<br />
a. Midnight University<br />
Because <strong>of</strong> the popular dem<strong>and</strong> for short courses <strong>and</strong> in a bid to meet the national needs <strong>and</strong> various needs <strong>of</strong> its<br />
clientele, CIT instituted the popularly termed Midnight Programme. Its basic aim is to support ICT led socioeconomic<br />
development through providing ‘ICT Education for All’. This programme mainly caters for those who may<br />
not find time during the day <strong>and</strong> evening hours <strong>and</strong> also caters for those financially constrained since its rates are<br />
subsidized (50% discount). Under the midnight programme, courses run from midnight up to 6:00 am. Courses run<br />
under this programme are CCNA <strong>and</strong> CCA.<br />
b. Testing center<br />
CIT is an authorized Prometric testing <strong>and</strong> Pearson VUE Testing Centre. Through these Testing Centers, different<br />
IT certification exams are delivered including Micros<strong>of</strong>t exams leading to Micros<strong>of</strong>t Systems Engineer<br />
(MCSE), Micros<strong>of</strong>t Database Administrator (MCDBA), Micros<strong>of</strong>t Systems Administrator (MCSA), Micros<strong>of</strong>t<br />
Solution Developer (MCSD) <strong>and</strong> ORACLE exams through Pearson VUE. Some none IT exams like GMAT are also<br />
delivered. The centre also delivers International Computer Driving License (ICDL) exams.<br />
10
1.4 Online Courses<br />
Amity University <strong>of</strong>fers programmes under the Pan-African e-Network through Tele-Education mode. The<br />
programmes are <strong>of</strong>fered under the Pan-African E-Network Project coordinated by the Ministry <strong>of</strong> ICT <strong>of</strong> the<br />
Republic <strong>of</strong> Ug<strong>and</strong>a, <strong>and</strong> the National Tele-Education Learning Centre set up at CIT<br />
(http://cit.mak.ac.ug/pan_african.php). NB: Application fee is 100,000/= for all the courses.<br />
Programme Duration Operational Fees per Semester<br />
Master in Financial Control 2 years 500,000/=<br />
MBA in International Business 2 years 500,000/=<br />
Post graduate Diploma in IT 1 year 400,000/=<br />
Bachelor <strong>of</strong> Science in IT 3 Years 350,000/=<br />
1.5 Physical Infrastructure <strong>and</strong> Facilities<br />
CIT has the largest computing facility in Africa housed in 15,000 sq meters <strong>of</strong> space worth over $20million. Its two<br />
buildings can accommodate up to 10,000 students in one sitting.<br />
Block A building was donated by the Royal Kingdom <strong>of</strong> Norway to then Institute <strong>of</strong> Computer Science. The<br />
building has <strong>of</strong>fices, 9 fully furnished labs <strong>and</strong> a conference room.<br />
Block B was funded from internally generated funds was completed in December 2008, <strong>and</strong> was <strong>of</strong>ficially<br />
commissioned by H.E the President <strong>of</strong> the Republic <strong>of</strong> Ug<strong>and</strong>a on January 28, 2009. It has: 6 computer labs each<br />
accommodating 700 students <strong>of</strong> which one is fully equipped; 4 smaller computer labs each accommodating 120<br />
students <strong>of</strong> which two are fully equipped; <strong>and</strong> 8 small <strong>and</strong> 6 big lecture theatres.<br />
CIT established a wide range <strong>of</strong> specialized labs which include: Computer Engineering Lab; Advanced<br />
Geographical Information Systems [GIS] Lab; Advanced Multimedia Lab; Mobile <strong>Computing</strong> Lab; Pan African E-<br />
Network Tele-Education Labs; Network Systems Lab; National S<strong>of</strong>tware Incubation Centre/Lab; E-Learning Lab;<br />
Online Networking Laboratory (iNetLab); Cisco Academy Training Labs; <strong>and</strong> Teaching Labs equipped with 2,000<br />
computers.<br />
Makerere University Main Library supports teaching, research <strong>and</strong> project activities <strong>of</strong> Makerere University. The<br />
Library provides access to books, print journals, e-journals, a well stocked reference section <strong>and</strong> connections to<br />
many remote databases. www.mulib.mak.ac.ug.<br />
Library Services: Makerere University Main Library supports teaching, research <strong>and</strong> project activities <strong>of</strong> Makerere<br />
University. The Library provides access to books, print journals, e-journals, a well stocked reference section <strong>and</strong><br />
connections to many remote databases. The library has a substantial collection <strong>of</strong> report material much <strong>of</strong> it "grey"<br />
literature. The University has subscribed to a number <strong>of</strong> online journals <strong>and</strong> continues to consult Faculties to update<br />
the online journal lists. The Online Journals provide a range <strong>of</strong> products from abstracts to full text papers. The<br />
University Library has also acquired a wide range <strong>of</strong> online books which are to access <strong>and</strong> this is in line with<br />
promoting e-learning. For more details: www.mulib.mak.ac.ug. Makerere University Library supports a book bank<br />
system which is operated at the Faculty level (Block B Building). The book bank is stocked with update literature.<br />
The books in the book bank have been acquired through supplies from the Makerere University Library <strong>and</strong><br />
purchases by the Faculty for books that are difficult to purchase by the main library.<br />
11
2.0 GENERAL INFORMATION FOR THE STUDENTS<br />
Studies <strong>and</strong> examinations for undergraduate Programmes in the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> IT shall be governed by<br />
the general regulations statutes <strong>of</strong> Makerere University <strong>and</strong> in addition by the regulations <strong>of</strong> the Faculty <strong>of</strong><br />
<strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology.<br />
2.1 Application procedures<br />
(a) Information for Prospective Students<br />
Application forms <strong>and</strong> other relevant information may be obtained from undergraduate Admissions Office<br />
level 3, Senate building, Makerere University. Application fee <strong>of</strong> 20,000/= (Ug<strong>and</strong>an Applicant) <strong>and</strong> bank<br />
charge <strong>of</strong> 2,500 <strong>and</strong> 101,000/= for International Applicants. This fee should be paid in any DFCU bank<br />
<strong>and</strong> Stanbic Bank branches using Makerere University pay-in slip/ bank slips. Applicants fill in four copies <strong>of</strong><br />
pay-in slips <strong>and</strong> after paying they are expected to present a copy when they are submitting the completed<br />
application forms to the admissions <strong>of</strong>fice, Makerere University. All applications for diplomas have to satisfy<br />
the requirements <strong>of</strong> the relevant courses <strong>and</strong> the University regulations. Application forms can<br />
be downloaded from (http://www.mak.ac.ug). International applicants should contact Makerere University<br />
Academic Registrar’s for application forms <strong>and</strong> more information. Please provide your e-mail <strong>and</strong> fax<br />
addresses for ease <strong>of</strong> transmission <strong>of</strong> these forms where applicable.<br />
(b) Direct Entry/ Diploma Holders/ Mature Age Entry Scheme<br />
Unless otherwise stated, all applications from private sponsorships are made in May <strong>of</strong> each academic year. The<br />
closing date for receiving applications is normally late the same month <strong>of</strong> the year in which the admission is<br />
sought. All completed application forms must be accompanied by relevant copies <strong>of</strong> certificates.<br />
(c) Application forms from International students are received from 1st April to 30th April <strong>of</strong> each year.<br />
2.2 Registration<br />
For a c<strong>and</strong>idate to be a full student <strong>of</strong> the University he/she must be registered. Registration is a m<strong>and</strong>atory function<br />
<strong>of</strong> the Faculty as well as the University which must be done within six (6) weeks from the beginning <strong>of</strong> the semester<br />
by every student. Registration center is under the supervision <strong>of</strong> the Faculty Registrar at the Faculty premises who<br />
produces <strong>and</strong> displays detailed registration programmes. Students are advised to use names that appear on their<br />
admissions letters, <strong>and</strong> these should be the names that appear on O’ Level <strong>and</strong> A’ Level results slips, Diploma<br />
Transcripts etc. All undergraduate students are expected to be registered on the Academic Registrar’s Information<br />
System (ARIS) for their programmes <strong>and</strong> respective courses so as to be availed with Examination permits. All<br />
undergraduate Students are urged to fill the bio-data form as soon as possible to provide the necessary<br />
information required by the system.<br />
2.3 Accepting or Declining a Place <strong>of</strong> Offer<br />
a) Any first year student who will not have registered with in the first six (6) weeks <strong>of</strong> the beginning <strong>of</strong><br />
the academic year shall be deemed to have declined the <strong>of</strong>fer <strong>of</strong> a place at the University as well as the<br />
faculty. His/her place shall accordingly be <strong>of</strong>fered to another student through the change<br />
<strong>of</strong> programme/subject exercise.<br />
b) Any students in the first year <strong>of</strong> studies, who for some reasons are unable to register or take up his /her<br />
place in the University by the end <strong>of</strong> the registration period, are advised to re-apply again for the<br />
admission <strong>of</strong> the following academic year by following the same application procedures. Please note that<br />
you need to re-apply for admission <strong>and</strong> complete afresh with the applicants for that academic year.<br />
12
2.4 Withdrawal<br />
a) A registered student must apply to the Board <strong>of</strong> the Faculty for permission to withdraw from studies at<br />
anytime <strong>of</strong> the semester. Reasons for withdrawal should be given in the letter <strong>of</strong> application. A student will<br />
be allowed only a maximum <strong>of</strong> two (2) withdrawals in an academic Programme <strong>and</strong> each withdrawal shall<br />
be a maximum <strong>of</strong> one academic year only.<br />
b) Permission to withdraw shall be granted by the Faculty Board only on compassionate grounds or in cases <strong>of</strong><br />
illness or financial constraints serious social or domestic difficulties or exceptional pr<strong>of</strong>essional<br />
commitment which can be demonstrated to have adversely affected the c<strong>and</strong>idate.<br />
c) A student who had withdrawn from studies shall apply to his/her respective Faculty Board to resume<br />
studies <strong>and</strong> shall indicate that the circumstances that made him/her withdraw can no longer affect his/her<br />
studies.<br />
2.5 Fees <strong>and</strong> Other Requirements<br />
Before applying, applicants are advised to make sure that they have adequate financial support to cover tuition <strong>and</strong><br />
functional fees as well as other requirements. Fees do not cover research <strong>and</strong> accommodation expenses. An<br />
acceptable guarantee <strong>of</strong> financial support throughout the proposed course is necessary<br />
2.5.1 Payment <strong>of</strong> Fees<br />
a) Tuition <strong>and</strong> other University fees are due on the first day <strong>of</strong> the Academic year. Privately –sponsored students<br />
who cannot pay full fees at the beginning <strong>of</strong> the academic year are required to pay at least 60% <strong>of</strong> the Course<br />
Load, if they wish, by the set deadline <strong>and</strong> register for <strong>and</strong> attend lectures for <strong>and</strong> sit examinations for only those<br />
courses.<br />
b) A first year Privately-sponsored student who fails to pay the entire Functional Fees (Registration Fee,<br />
Examination Fees, Research Fees, Library Fees, Development fee, Technology fee) shall forfeit his/her place<br />
in the University.<br />
c) Only registered students will be allowed to use University facilities, to attend lecturers, do Coursework <strong>and</strong> sit<br />
for University End <strong>of</strong> Semester Examinations.<br />
d) A privately-sponsored student who shall not have paid at least 60% <strong>of</strong> the fees by the end <strong>of</strong> the 6 th week shall be<br />
de-registered.<br />
e) A privately-sponsored student who shall not have completed paying fees by the end <strong>of</strong> the 6 th week will not be<br />
allowed to sit for University tests <strong>and</strong> examinations.<br />
f) Fees for Residence, Application, Faculty Requirements, Registration, Examinations, Identity Cards, Library, <strong>and</strong><br />
Guild Charges are not refunded.<br />
g) The University Council reserves the right to vary fees chargeable anytime with or without prior notice.<br />
h) International Students are advised to pay fees in Ug<strong>and</strong>a Shillings.<br />
Other requirements like books, stationery, <strong>and</strong> materials, accommodation, food, research expenses, etc, the sponsor<br />
should pay it directly to the student.<br />
2.5.2 Mode <strong>of</strong> payment<br />
a) University fees MUST be paid to DFCU Bank Makerere or any Stanbic Bank Ltd Branch <strong>and</strong> using payin/Deposit<br />
slips, <strong>and</strong> clearly marking the item(s) being paid for. It is, therefore advisable that students open<br />
Accounts with any <strong>of</strong> the above banks to ease transaction. Pay-in/Deposit slips are obtainable from the<br />
University Bursar’s <strong>of</strong>fice or Senate Building; Room 202. Students’ numbers <strong>and</strong> registration numbers must be<br />
used in all payments <strong>of</strong> the University fees.<br />
b) Fees can also be paid by Electronic Funds Transfer (EFT) money transfer to Makerere University Council<br />
13
Account Number – 0140018673101 Stanbic Bank Makerere Branch.<br />
c) University fees (i.e. Registration, Administration, Library, Research, Internship, Development, Technology <strong>and</strong><br />
Examination, others like Caution, undergraduate gowns <strong>and</strong> Tuition) MUST be paid to the University before<br />
registration. Graduation, Certificate, Convocation <strong>and</strong> Academic Transcript fees will be paid on completion <strong>of</strong> the<br />
course.<br />
d) Payment <strong>of</strong> fees may be made in Lump Sum on arrival or in installments (per Semester) by using the student<br />
numbers to pay in the Bank.<br />
e) Payments can also be made by Bank Drafts in the names <strong>of</strong> Makerere University council.<br />
f) Students are required to present copies <strong>of</strong> the pay-in slips to CIT Revenue Office (2 nd Floor room 203) to get their<br />
financial statements.<br />
g) Sponsors/Parents/Guardians are advised to avoid giving lots <strong>of</strong> money to students but to pay fees directly to the banks<br />
indicated under (i) <strong>and</strong> (ii) above.<br />
h) Enquiries on payment <strong>of</strong> fees should be done from the <strong>of</strong>fice <strong>of</strong> the University Bursar in the Main administration<br />
Building or from CIT revenue Office (2 nd Floor room 203).<br />
2.6 Refund <strong>of</strong> Tuition fees when a student has withdrawn from studies<br />
A registered student who has been permitted to withdraw from studies shall be refunded the Tuition fees for the<br />
semester paid according to the following schedules:<br />
The time at which a student has withdrawn in a Semester Percentage <strong>of</strong> paid Tuition to be Refunded<br />
(a) By the end <strong>of</strong> the First week <strong>of</strong> a Semester 100%<br />
(b) By the end <strong>of</strong> the Second week <strong>of</strong> a Semester 80%<br />
(c) By the end <strong>of</strong> the Third week <strong>of</strong> a Semester 60%<br />
(d) By the end <strong>of</strong> the Fourth week <strong>of</strong> a semester 40%<br />
(e) By the end <strong>of</strong> the Fifth week <strong>of</strong> a semester 20%<br />
(f) After the fifth week 0%<br />
Note: Fees application, residence, Faculty requirements, registration, examinations, Identity card, Library <strong>and</strong> Guild<br />
charges are not refunded since services will have been rendered.<br />
2.7 University Fees structure<br />
a. Functional fees (payable to the University)<br />
Item Ug<strong>and</strong>ans Non-Ug<strong>and</strong>ans Period<br />
(UGX) (UGX)<br />
Application Fee 20,000 101,000 Payable at the time <strong>of</strong> Application<br />
Registration Fee 100,000 202,000 Per year<br />
Examination Fee 100,000 303,000 Per year<br />
Library Fee 20,000 40,400 Per year<br />
Development Fee 123,500 222,200 Per year<br />
Contribution towards Research Fund 20,000 40,400 Per year<br />
Technology Fee 50,000 101,000 Per year<br />
Internship Fee 100,000 100,000 Per semester<br />
University Identity card 15,000 40,400<br />
Rules <strong>and</strong> Caution 2,000 2,000<br />
Academic Gown 16,000 16,000<br />
Late Registration (surcharge)Fee 50,000 101,000<br />
Accommodation<br />
i. Fee per semester<br />
ii. Recess term<br />
220,000 600,000 Per semester<br />
14
Certification fee 3,000 20,200 Per copy<br />
Re-Examination Fee 20,000 40,400 Per course<br />
Graduation Fee 30,000 101,000 On graduation<br />
Convocation Fee 10,000 20,200 On graduation<br />
Certificate Fee 20,000 101,000 On graduation<br />
Transcript fee 20,000 101,000 On graduation<br />
b. Tuition Fees per Semester<br />
Course Ug<strong>and</strong>an (UGX) Non-Ug<strong>and</strong>ans (UGX)<br />
Bachelor <strong>of</strong> Science in Computer Science 1,260,000 1,890,000<br />
Bachelor <strong>of</strong> Information Technology 1,260,000 1,890,000<br />
Bachelor <strong>of</strong> Information System 1,300,000 2,525,000<br />
Bachelor <strong>of</strong> Science in S<strong>of</strong>tware Engineering 1,300,000 2,525,000<br />
Diploma in Computer Science <strong>and</strong> Information Technology 1,050,000 1,260,000<br />
2.8 CIT Finance Department-Revenue Section<br />
This Section is part <strong>of</strong> Finance Department in CIT <strong>and</strong> the services <strong>of</strong>fered to the students are: Answering all<br />
Students' queries concerning fees payments; assisting Students in interpreting Students’ Financial statements<br />
generated from Financial Integrated Information System (FINIS ); guiding students on payment procedures <strong>and</strong><br />
terms; assisting students in getting their certificates through issuance <strong>of</strong> clearance forms; in case a student gets a<br />
retake, revenue section helps students in computing the required fees to be paid; advising Students to meet fees<br />
payment deadlines; Financial information dissemination from University Bursar's <strong>of</strong>fice to Students <strong>and</strong> the overall<br />
matters concerning Students fees. For more information write to revenue@cit.mak.ac.ug<br />
15
3.0 CONDUCT OF PROGRAMMES/COURSES<br />
3.1 Definition <strong>of</strong> an Academic Programme <strong>and</strong> a Course<br />
3.1.1 Academic Programmes<br />
Each Academic Programme shall be defined by Courses. An Academic Programme shall be composed <strong>of</strong> a set <strong>of</strong><br />
prescribed Courses that shall be registered for by a student in order for him/her to qualify for the Award <strong>of</strong> a<br />
particular Degree/Diploma/Certificate.<br />
3.1.2 A Course<br />
A Course is a unit <strong>of</strong> work in a particular Field/area <strong>of</strong> a study normally extending through one Semester the<br />
completion <strong>of</strong> which normally carries credit towards the fulfillment <strong>of</strong> the requirements <strong>of</strong> certain Degrees,<br />
Diploma, or certificates.<br />
3.1.3 A Contact Hour<br />
A contact hour is equivalent to One (1) hour <strong>of</strong> lecture/Clinical or Two (2) Hours <strong>of</strong> Tutorial/Practical or four (4)<br />
hours Fieldwork.<br />
3.1.4 A Credit or Credit Unit<br />
A Credit or Credit Unit is the measure used to reflect the relevant weight <strong>of</strong> a given Course towards the fulfillment<br />
<strong>of</strong> appropriate Degree, Diploma, Certificate or other programmes required. One (1) Credit Unit shall be One (1)<br />
Contact Hour per Week per Semester or a series <strong>of</strong> fifteen (15) Contact Hours.<br />
3.2 Categorizing Courses<br />
Courses are categorized as Core, Elective, Pre-requisite or Audited. Not all Courses in an Academic programme are<br />
made Core. The Courses <strong>of</strong> the first year studies are called pre-requisite or introductory courses. The number <strong>of</strong><br />
elective Courses that each student shall be required to register for in every undergraduate Academic Programme<br />
shall always be stated so as to guide the students when they are choosing them from a particular Elective Course.<br />
Courses in the Programmes shall be categorized as follows:-<br />
a) A Core Course<br />
This is one which is essential to an Academic Programme <strong>and</strong> gives the Academic programme its unique<br />
feature. Everyone <strong>of</strong>fering that particular academic programme must pass that Course. Core Courses shall<br />
be <strong>of</strong>fered in all the Semesters.<br />
b) An Elective Course<br />
This is one which is <strong>of</strong>fered in order to broaden an Academic Programme or to allow for specialization. It<br />
is chosen from a given group <strong>of</strong> courses largely at the convenience <strong>of</strong> the student. Another Elective<br />
Course may be substituted for a failed Elective course.<br />
c) An Audited Course<br />
This is one which is <strong>of</strong>fered by a student for which a credit/credit Unit shall not be awarded.<br />
d) A Pre-requisite Course<br />
A pre-requisite is a condition (either Course <strong>of</strong> Classification), which has to be satisfied prior to enrolling<br />
for the course in question.<br />
A pre-requisite course therefore is a Course <strong>of</strong>fered in preparation for a higher level Course in the same<br />
area <strong>of</strong> study.<br />
16
3.3 Semester Course Load<br />
Semester Load shall be the total number <strong>of</strong> Courses for a particular Academic Programme <strong>of</strong>fered in a Semester.<br />
The Courses to be Retaken <strong>and</strong> those to be Audited shall be within the Maximum semester Load <strong>of</strong> every student.<br />
3.3.1 Normal Semester Load<br />
The normal semester Load for undergraduate academic programmes range from Fifteen (15) Credit units to Twenty-<br />
One (21) Credit Units. A full time student shall not carry less than 15 Credit Units <strong>and</strong> not more than 21 Credit Units<br />
per semester.<br />
3.3.2 Maximum Semester Load<br />
The maximum Semester Load for <strong>Undergraduate</strong> Academic Programmes is Twenty-eight (28) Credit Units so as to<br />
cater for students who have Courses to retake or those who would be able to complete the requirements for their<br />
respective Academic Awards in less than the stipulated minimum duration.<br />
3.4 Assessment <strong>of</strong> Courses<br />
Each course shall be assessed in two (2) parts as follows:<br />
a) The Coursework (Progressive/ Continuous Assessment), for the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong><br />
Technology shall contribute 40% <strong>of</strong> the Total Marks.<br />
b) The Coursework (Progressive/Continuous Assessment) Component shall consist <strong>of</strong> at least One (1) test<br />
<strong>and</strong> One (1) Homework/Take-Home Assignment OR Two (2) Tests per Course.<br />
c) A minimum <strong>of</strong> two coursework assignments/tests shall be required per course.<br />
d) The University Examinations for the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology shall contribute a<br />
maximum <strong>of</strong> 60% <strong>of</strong> the Total Marks.<br />
e) For practical courses (industrial/field training) assessment shall be by assignment <strong>and</strong> or a report form.<br />
Note: Coursework is also a University examination, copying <strong>and</strong> /h<strong>and</strong>ing in coursework similar to another<br />
student’s work, or hiring another person to do one’s coursework is an examination malpractice that will lead to<br />
dismissal from the University.<br />
3.5 Certificate <strong>of</strong> Due Performance<br />
i. A student who fails to honor the deadline set for h<strong>and</strong>ing in assignment without justifiable cause(s) shall receive<br />
a score <strong>of</strong> a zero or fail grade in that assignment.<br />
ii. A student who does not have coursework marks shall be denied Certificate <strong>of</strong> Due performance <strong>and</strong> will not be<br />
allowed to sit the University Examinations.<br />
3.6 Progression <strong>of</strong> Students<br />
Progression <strong>of</strong> a student shall be classified as Normal, Probationary or Discontinuation<br />
3.6.1 Normal Progress<br />
Normal Progress shall occur when a student has passed assessments in all the Courses he/she had registered for in a<br />
particular semester <strong>and</strong> not when he/she passed the Assessments in the Core Courses only.<br />
17
3.6.2 Probationary Progress<br />
A student who has obtained the Cumulative Grade Point Average (CGPA) <strong>of</strong> less than 2.0 shall be placed on<br />
probation. Such a student shall be allowed to progress to the next Semester/Academic Year but shall still retake the<br />
Course(s) he/she had failed the Assessments in later on <strong>and</strong> obtain at least the Pass mark (50%) in the Course(s).<br />
3.7 Discontinuation<br />
a) When a student accumulates three consecutive probations based on CGPA he/she shall be discontinued.<br />
b) A student who has failed to obtain at least the Pass Mark (50%) during the Third Assessment in the same<br />
Course or Courses he/she had retaken shall be discontinued from his/her studies at the University;<br />
c) A student who has overstayed in an Academic programme by more than Two (2) Years shall be discontinued<br />
from his/her studies at the University.<br />
3.8 Re-taking a course<br />
a) A student shall retake a Course when he/she is given another <strong>of</strong>fer in order to obtain at least the Pass Mark<br />
(50%) if he/she had failed during the first Assessment in the Course or Courses. A student who has failed to<br />
obtain at least the Pass Mark (50%) during the Second Assessment in the same Course he/she has retaken shall<br />
receive a warning.<br />
b) A student may retake a Course or Courses when next <strong>of</strong>fered again in order to improve his/her Pass Grade(s) if<br />
the Pass Grade(s) for at the first Assessment in the Course or Courses were low. A student who fails to attain<br />
higher marks after retaking to improve, the examination results <strong>of</strong> the first sitting are recorded as Retake.<br />
c) Where a student misses to sit examinations for justified reasons; the grades obtained after sitting examination<br />
shall not be recorded as a retake because the c<strong>and</strong>idate is sitting the examinations for the first attempt.<br />
d) While retaking a course or Courses, a student shall; attend all the prescribed lectures/tutorials/ practical in the<br />
course; satisfy all the requirements for the Coursework Component in the Course; <strong>and</strong> sit for the University<br />
Examinations in the Course<br />
e) A student shall not be allowed to accumulate more than five (5) Retake Courses at a time. Students are required<br />
to register for retake course(s) first before registering for new courses <strong>of</strong>fered in that semester <strong>and</strong> the retake<br />
courses should fit into the approved normal load to avoid time table clash.<br />
f) A final year student whose final examination Results have already been classified by the relevant Faculty Board<br />
<strong>and</strong> has qualified for the Award <strong>of</strong> a degree/Diploma/Certificate, shall not be permitted to retake any course.<br />
g) When a student has retaken a course, the better <strong>of</strong> the two Grades he/she has obtained in that Courses shall be<br />
used in the computation <strong>of</strong> his/her Cumulative Grade Average (CGPA). Whenever a Course has been retaken,<br />
the Academic Transcript shall indicate it accordingly.<br />
h) Students who have a course(s) to retake <strong>and</strong> these Course(s) fall beyond the set normal semester load for their<br />
Academic programmes shall pay tuition fees for any Course/Courses to be retaken. Besides, such students also<br />
pay the reexamination fees per Course retaken as well as the registration fees.<br />
3.9 Change <strong>of</strong> Course<br />
A student may be permitted to change course(s) in an Academic Programme in order to substitute the<br />
Course(s) failed. The Substitute Course(s) should be within the specified Course(s) for that Academic<br />
Programme.<br />
18
3.10 Change <strong>of</strong> Programme<br />
a) A student may be permitted to change from one academic Programme to another on condition that:<br />
i. He/She had satisfied the admission requirements for the Academic Programme applied for;<br />
ii. He/She should not have been attending lectures/tutorials <strong>and</strong> other academic activities <strong>of</strong> the Academic<br />
programme he/she would want to change from for more than one-half <strong>of</strong> the duration <strong>of</strong> the<br />
programme.<br />
iii. He/She had not been previously dismissed on displinary grounds from the University.<br />
b) A student permitted to change his/her Programme may be allowed to transfer the Credits from the previous<br />
Academic programme to the new Academic Programme, provided that the Credits being transferred are relevant<br />
to the new Academic Programme.<br />
19
4.0 CONDUCT OF EXAMINATION<br />
4.1 Sitting Semester Examinations<br />
Only registered students are permitted to sit University examinations. A student who does not pay all the required<br />
University fees will not be permitted to sit the University examinations. The examination results <strong>of</strong> any student<br />
who has sat the examinations without being registered shall be nullified. Students are strongly warned against this.<br />
4.2 Absence from Examination<br />
a) If the Board <strong>of</strong> the Faculty found out that a student has no justifiable reason for having been absent from a<br />
particular examination, such a student shall receive a fail (F) Grade for the Course (s) he/she had not sat the<br />
examination in. The Course(s) in which the Fail (F) Grade was/were awarded shall also account in the<br />
calculation <strong>of</strong> the CGPA.<br />
b) If the board <strong>of</strong> a Faculty is satisfied that a student was absent from coursework assessment <strong>and</strong> or a final<br />
examination due to justifiable reason(s) such as sickness or loss o a parent/guardian, then a Course Grade<br />
<strong>of</strong> ABS shall be assigned to that course(s).<br />
NOTE: First Years that are not yet registered with the Faculty/University are not eligible for the above opportunity<br />
4.3 Deferred Examination<br />
a) A student who provides credible reason for failure to complete coursework assessment or to attend an<br />
examination based on 4.2 (b) above may be permitted to ‘sit’ the deferred examination or coursework<br />
assignment when the course(s) is being <strong>of</strong>fered again.<br />
b) Students needing a deferred exam must submit application to their respective Dean’s or Director’s Office.<br />
The application <strong>and</strong> supporting documentation pertaining to the absence must be presented as soon as the<br />
student is able, having regard to the circumstances underlying the absence but not later than the beginning<br />
<strong>of</strong> the Semester in which the examination is scheduled. Where the cause is incapacitating illness, a student<br />
must present a University Hospital Medical Statement Form. In other cases, including severe domestic<br />
affliction, adequate documentation must be provided to substantiate the reason for an absence.<br />
4.4 Grading <strong>of</strong> Marks<br />
The overall Marks a c<strong>and</strong>idate obtains in each Course he/she <strong>of</strong>fered is graded out <strong>of</strong> a maximum <strong>of</strong> One<br />
hundred (100) Marks <strong>and</strong> assigned appropriate Letter Grades <strong>and</strong> Grade Points as follows:<br />
MARKS LETTER GRADE GRADE POINT INTERPRETATION<br />
90 - 100 A+ 5 Exceptional<br />
80 - 89 A 5 Excellent<br />
75 - 79 B+ 4.5 Very Good<br />
70 - 74 B 4 Good<br />
65 - 69 C+ 3.5 Fairly good<br />
60 - 64 C 3 Fair<br />
55 - 59 D+ 2.5 Pass<br />
50 - 54 D 2 Marginal Pass<br />
45 - 49 E+ 1.5 Marginal Fail<br />
40 - 44 E- 1 Clear Fail<br />
0 - 39 F 0 Bad Fail<br />
A student with a grade point greater or equal to 2 (Letter Grade D) is considered to have passed the course unit.<br />
20
Note: The above Grading System is for the intake <strong>of</strong> 2008/2009 Academic Year on wards.<br />
4.5 Calculation <strong>of</strong> the Cumulative Grade Point Average (CGPA)<br />
The cumulative grade point average at a given time shall be obtained by:<br />
a) Multiplying the grade point obtained in each course by the Credit Units (CU) assigned to the Course to<br />
arrive at the Weighted Score for the Course.<br />
b) Adding together the Weighted Scores for all Courses taken up to that time to obtain total Weighted Score.<br />
c) Dividing the total Weighted Score by the total number <strong>of</strong> Credit Units taken (attempted) up to that time.<br />
Example:<br />
Courses CU Grade points Weighted Score<br />
CSC 1100 4 3.0 C 3.0 x 4 = 12<br />
CSK 1101 4 4.0 B 4.0 x 4 = 16<br />
BIT 1100 3 4.0 B 4.0 x 3 = 12<br />
CSC 1104 4 5.0 A+ 5.0 x 4 = 20<br />
CSC 1106 3 2.0 C- 2.0 x 3 = 6<br />
Total 18 Total = 66<br />
(66 divided by 18 i.e. 66/18 = 3.66 CGPA)<br />
4.6 Classification <strong>of</strong> a Degree/Diploma<br />
The degree obtained in the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology shall be classified according to the CGPA<br />
as follows;<br />
CLASS CGPA<br />
First 4.40 – 5.00<br />
Second Upper Division 3.60 – 4.39<br />
Second Lower Division 2.80 – 3.59<br />
Pass 2.00 – 2.79<br />
4.7 Approval <strong>of</strong> Examination Results<br />
The Senate has delegated the power to approve all examination results to the Board <strong>of</strong> the Faculty. But the results<br />
shall not be regarded as final until they are confirmed by Senate on submission <strong>of</strong> Appropriate Pass Lists to Senate<br />
by the relevant Board. The Appropriate Pass lists to Senate should be accompanied with Faculty Board Minutes.<br />
Students shall be provided with examination results using the approved testimonial format.<br />
4.8 Appeals<br />
Any student or c<strong>and</strong>idate aggrieved by a decision <strong>of</strong> the Board <strong>of</strong> the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong><br />
Technology may appeal to the Senate Examinations Committee for reversal or Moderation <strong>of</strong> the decision <strong>of</strong> the<br />
Board.<br />
4.9 Publication <strong>of</strong> results<br />
The relevant department shall publish provisional Examination Results <strong>of</strong> C<strong>and</strong>idates in every examination son after<br />
the meeting <strong>of</strong> departmental Examination Committee; the Examination Results shall be arranged <strong>and</strong> published in a<br />
manner as prescribed by Senate.<br />
21
4.10 Moderation <strong>and</strong> External Examiners<br />
All question papers shall be moderated internally <strong>and</strong> where need be externally moderated by the external examiner.<br />
In addition external examiners shall participate in vetting <strong>of</strong> questions <strong>and</strong> making <strong>of</strong> scripts for all final<br />
examinations. They shall participate in overall results <strong>and</strong> classification <strong>of</strong> degrees.<br />
4.10.1 Board <strong>of</strong> Examiners<br />
There shall be a Faculty Board <strong>of</strong> Examiners composed <strong>of</strong> external <strong>and</strong> internal examiners appointed by senate on<br />
the recommendation <strong>of</strong> the board <strong>of</strong> the Faculty <strong>of</strong> CIT. The Board shall be chaired by the Dean <strong>of</strong> the Faculty. The<br />
Board <strong>of</strong> Examiners shall receive, consider <strong>and</strong> recommend to the faculty Board the examination results <strong>of</strong> each<br />
c<strong>and</strong>idate.<br />
4.11 Malpractices in the conduct <strong>of</strong> Examinations<br />
It shall be an <strong>of</strong>fence for a student/c<strong>and</strong>idate involved in an examination/test to:<br />
(a) Sit or attempt to sit the examination without valid documentation.<br />
(b) Enter the examination hall/room later than half an hour after the examination/test has commenced.<br />
(c) Leave the examination hall/room earlier than half an hour after the examination has commenced except in<br />
emergencies with the express permission <strong>of</strong> the invigilator.<br />
(d) Carry out a conversation or any other communication with another student/c<strong>and</strong>idate once the examination<br />
has commenced.<br />
(e) Indulge in any disruptive conduct including, but not limited to, shouting assault <strong>of</strong> another<br />
student/c<strong>and</strong>idate, using abusive <strong>and</strong> /or threatening language, destruction <strong>of</strong> university property or the<br />
property <strong>of</strong> another student/c<strong>and</strong>idate.<br />
(f) Take out <strong>of</strong> the examination room/hall answer booklet(s), used or unused.<br />
(g) Neglect, omit or in any other way fail to follow lawful instructions or orders issued by the invigilator.<br />
(h) Physically assault or insult an Invigilator or any University Official involved in the conduct <strong>of</strong> the<br />
examination.<br />
4.11.1 Cheating in Examinations<br />
Cheating is defined as any illegitimate behavior designed to deceive those setting, administering <strong>and</strong> marking the<br />
assessment. Cheating in a University assessment is a very serious academic <strong>of</strong>fence, which may lead ultimately to<br />
expulsion from the University. Cheating can take one <strong>of</strong> a number <strong>of</strong> forms, including:<br />
(a) Taking into the exam venue, or possessing whilst in that room, any books, notes or other material which<br />
has/have not been authorized. Writing notes on any part <strong>of</strong> your body, recording apparatus, mobile phones<br />
or any other unauthorized electronic equipment. Having notes written in your identity documents or<br />
authorized examination materials e.g. logarithm table<br />
(b) Copying from another student in an examination. Aiding or attempting to aid another c<strong>and</strong>idate, or<br />
obtaining or attempting to obtain aid from another c<strong>and</strong>idate.<br />
(c) Involve oneself in Plagiarism, that is:<br />
• Pass <strong>of</strong>f the words or ideas <strong>of</strong> someone else as his/her own without proper acknowledge or<br />
crediting the original source.<br />
• Replicate one’s own work which one has presented elsewhere for assessment.<br />
(d) Obtaining an examination paper ahead <strong>of</strong> its authorized release.<br />
(e) Sit or attempt to sit the examination without valid documentation<br />
22
4.11.2 Fraud in Examinations<br />
It shall be an <strong>of</strong>fence for a student/c<strong>and</strong>idate involved in an examination to:<br />
(a) Import into the examination hall/room, in person or by agent, a pre-prepared answer script/booklet.<br />
(b) Substitute an answer script/booklet prepared outside the examination room/hall for the one already<br />
submitted to the invigilator/Examiner.<br />
(c) Falsify or alter marks awarded on an examination script/book.<br />
(d) Impersonate another student/c<strong>and</strong>idate.<br />
(e) Procure or induce another person to sit for him/her.<br />
4.11.3 Penalty<br />
Any student/c<strong>and</strong>idate found guilty <strong>of</strong> contravening the above shall be liable to:<br />
(a) Caution <strong>and</strong> cancellation <strong>of</strong> the relevant examination, or<br />
(b) Cancellation <strong>of</strong> the relevant examination <strong>and</strong> suspension from the University for a period not exceeding<br />
two years, or<br />
(c) Cancellation <strong>of</strong> the relevant examinations <strong>and</strong> dismissal from the University.<br />
(d) A Government-sponsored student/c<strong>and</strong>idate found guilty <strong>of</strong> contravening the above, may have the<br />
Government sponsorship cancelled besides any other punishment taking into account the gravity <strong>of</strong> the<br />
<strong>of</strong>fence except in cases where the student/c<strong>and</strong>idate is dismissed from the University.<br />
(e) Any student/c<strong>and</strong>idate found guilty <strong>of</strong> contravening the above by physically assaulting an Invigilator or a<br />
University <strong>of</strong>ficial shall be dismissed from the University.<br />
5.0 Accommodation <strong>of</strong> Religious Creed<br />
(a) Makerere University is a secular institution. It is the <strong>of</strong>ficial policy <strong>of</strong> the University that all days in a week<br />
are considered working days. Staff <strong>and</strong> students are expected to conduct or attend lectures <strong>and</strong><br />
examinations at scheduled time <strong>and</strong> say.<br />
(b) Requests to accommodate a student’s religious creed by scheduling tests or examinations at alternative<br />
times may not be entertained.<br />
(c) Students who miss exams or test based on religious creed should inform their respective Deans/directors as<br />
soon as the timetable is published preferably two weeks before categorized as being absent without<br />
justifiable cause <strong>and</strong> a Course Grade <strong>of</strong> ABS shall be assigned to that Course(s).<br />
23
6.0 DEPARTMENT OF COMPUTER SCIENCE<br />
6.1 Introduction<br />
The Department <strong>of</strong> Computer Science, together with the Departments <strong>of</strong> Networks, Information Technology <strong>and</strong><br />
Information Systems form the academic departments <strong>of</strong> the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology. The<br />
department aims at being a world class center <strong>of</strong> teaching <strong>and</strong> research in the general field <strong>of</strong> Computer Science.<br />
The Department runs the Diploma in Computer Science <strong>and</strong> Information Technology, The Bachelor <strong>of</strong> Science in<br />
Computer Science, The Postgraduate Diploma in Computer Science, Master <strong>of</strong> Science in Computer Science <strong>and</strong> a<br />
Doctor <strong>of</strong> Philosophy in Computer Science.<br />
All our Programmes are carefully designed to; (i) provide students with the needed h<strong>and</strong>s on skills (ii) allow<br />
students explore their creativity to the limits <strong>and</strong> (iii) challenge students dig deeper in the enormous body <strong>of</strong><br />
knowledge. The programmes are conducted by highly trained <strong>and</strong> well motivated team <strong>of</strong> academic <strong>and</strong> technical<br />
staff using state <strong>of</strong> the art equipments <strong>and</strong> methodologies.<br />
The department is a very active center <strong>of</strong> research. Currently, our research is mainly based in;<br />
(i) Foundations <strong>of</strong> <strong>Computing</strong><br />
(ii) Computer Security<br />
(iii) Computer Vision <strong>and</strong><br />
(iv) Image processing.<br />
The department is a beneficially <strong>of</strong> the Makerere wide policy forging collaborations with other research institutes all<br />
over the world. The department has strong research corroborations with several universities especially in America<br />
<strong>and</strong> Europe. Several <strong>of</strong> its members <strong>of</strong> staff are undertaking doctoral studies in these universities. The departmental<br />
strategy in research is to carry out research directly linked to the current technological <strong>and</strong> operational status <strong>of</strong><br />
Ug<strong>and</strong>a <strong>and</strong> Africa as a whole.<br />
As a means <strong>of</strong> ensuring <strong>and</strong> upholding quality in all the departmental programmes (academic <strong>and</strong> research), the<br />
department does periodic review <strong>and</strong> evaluations <strong>of</strong> its progress <strong>and</strong> quality <strong>of</strong> delivery. Stake holders can send<br />
comments <strong>and</strong> complements any time to the Head <strong>of</strong> Department <strong>of</strong> the Departmental Senior administrative<br />
Assistant – as we build for the future.<br />
The Department <strong>of</strong> Computer Science runs three (3) programmes namely;<br />
• Bachelor <strong>of</strong> Science in Computer Science (BSc CS) Degree Programme<br />
• Computer Science Subject for BSc Degree Programme<br />
• Diploma in Computer Science <strong>and</strong> Information Technology (DCSIT) Programme<br />
6.2 Bachelor <strong>of</strong> Science in Computer Science (BSc CS) Programme<br />
6.2.1 Overview<br />
The Bachelor <strong>of</strong> Science in Computer Science is the oldest undergraduate degree Programme in Makerere University<br />
Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology. The revised curriculum took effect in the 2009/2010 Academic<br />
Year. The objectives <strong>of</strong> the Programme are to:<br />
24<br />
Dr. John Ngubiri<br />
Head <strong>of</strong> Department
a) Develop pr<strong>of</strong>essionals with theoretical <strong>and</strong> practical skills in Computer Science;<br />
b) Strengthen capacity <strong>and</strong> institutional building in Computer Science in tertiary institutions, the private <strong>and</strong> public<br />
sector;<br />
c) Build capacity with a practical orientation needed to link up the Computer Science sector with Government <strong>and</strong><br />
Industry under the broader perspective <strong>of</strong> information <strong>and</strong> Communication Technology (ICT) <strong>and</strong> ;<br />
d) Provide most <strong>of</strong> the ICT pr<strong>of</strong>essionals needed in Ug<strong>and</strong>a <strong>and</strong> neighboring countries.<br />
1. Target Group<br />
The revised Programme targets two categories <strong>of</strong> People. These are A-level leavers <strong>and</strong> diploma holders in relevant<br />
disciplines.<br />
2. Minimum Admission Requirements<br />
To be admitted to the BSc (Computer Science) Programme, a c<strong>and</strong>idate must satisfy the general admission requirements<br />
for Makerere University. In addition, the following regulations shall hold:<br />
a) Direct Entry<br />
C<strong>and</strong>idates seeking admission through this avenue must have obtained:<br />
i. At least a subsidiary pass in Mathematics in the Ug<strong>and</strong>a Advanced Certificate <strong>of</strong> Education (UACE) or<br />
its equivalent.<br />
ii. At least two principal passes at the same sitting in Ug<strong>and</strong>a Advanced Certificate <strong>of</strong> Education (UACE)<br />
in any <strong>of</strong> the following subjects: - Mathematics, Economics, Entrepreneurship, Geography, Physics,<br />
Chemistry, Biology, Agriculture, Technical Drawing <strong>and</strong> Food <strong>and</strong> Nutrition.<br />
iii. A minimum weighted points set by the Makerere University Admissions Board.<br />
For purposes <strong>of</strong> computing weighted points, the A- level subjects shall be grouped <strong>and</strong> weighted as follows:<br />
b) Diploma Holders<br />
Group Weight Subjects<br />
Essential 3 Any two best done <strong>of</strong> the above subjects<br />
Relevant 2 The third best done <strong>of</strong> the above subjects<br />
Desirable 1 General Paper, Sub-Mathematics<br />
Others 0.5 All others.<br />
For a c<strong>and</strong>idate to be admitted via the diploma scheme, he/she must:<br />
i. Have at least 5 passes got at the same sitting <strong>of</strong> Ug<strong>and</strong>a Certificate <strong>of</strong> Education or its equivalent<br />
ii. Have at least 1 Principle pass <strong>and</strong> 2 subsidiary passes from the same sitting <strong>of</strong> the Ug<strong>and</strong>a Advanced<br />
Certificate <strong>of</strong> Education (UACE) or its equivalent<br />
iii. Have a Diploma in Computer Science <strong>and</strong> Information Technology <strong>of</strong> Makerere University or have at least a<br />
Second class (lower division) diploma in Computer Science, Engineering, Business Studies, <strong>and</strong> Information<br />
Technology, Statistics or any other diploma with Mathematics, Computer Science, or Information<br />
Technology as one <strong>of</strong> the subjects. The diploma must be from an Institution recognized by the National<br />
Council for Higher Education (<strong>of</strong> Ug<strong>and</strong>a).<br />
3. Nature <strong>of</strong> the Programme<br />
The day Programme has both government <strong>and</strong> privately sponsored students. The evening Programme has privately<br />
sponsored students only.<br />
4. Duration<br />
The duration <strong>of</strong> the Programme is six (6) semesters which are three (3) Academic Years <strong>and</strong> two (2) recess terms. Each<br />
semester lasts seventeen (17) weeks two <strong>of</strong> which are for examinations.<br />
5. Tuition Fees<br />
25
Tuition fees for privately sponsored students shall be 2,520,000 Ug<strong>and</strong>a Shillings per year for Ug<strong>and</strong>ans <strong>and</strong><br />
3,780,000 Ug<strong>and</strong>a Shillings per year for non Ug<strong>and</strong>ans. This is the same tuition fees for the existing curriculum.<br />
6. Semester Load <strong>and</strong> Minimum Graduation Load<br />
The normal semester load is between 15 <strong>and</strong> 21 credit units. The minimum graduation load is 127 credit units<br />
<strong>of</strong> which 111 credit units are from core course units. The remaining 16 credit units are to be got from elective<br />
course units in semesters where elective courses are <strong>of</strong>fered.<br />
6.2.2 Programme Structure<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CU LH PH TH CH<br />
Semester 1<br />
CSC 1100 Computer Literacy 4 30 60 -- 60<br />
CSK 1101 Communication Skills 4 45 30 -- 60<br />
CSC 1104 Computer Organization & Architecture 4 60 -- -- 60<br />
CSC 1105 Numerical Methods 3 45 -- -- 45<br />
CSC 1106 Programming Methodology I 3 30 30 -- 45<br />
Semester 2<br />
CSC 1204 Research Methodology 3 30 -- 30 45<br />
CSC 1206 Computational Mathematics 4 30 60 -- 60<br />
CSC 1207 Programming Methodology II 4 30 60 -- 45<br />
CSC 1208 Individual Project I 4 15 90 -- 60<br />
CSC 1209 Logic Programming 3 30 30 -- 45<br />
Year I: Recess term<br />
CSC 1301 Practical Skills Development 4 -- 120 -- 60<br />
CSC 1303 Cisco Certified Network Associate (Audited) 5 150 100 -- 200<br />
Semester 3<br />
CSC 2100 Data Structures <strong>and</strong> Algorithms 4 45 -- 30 60<br />
BSE 2105 Formal Methods 4 45 -- 30 60<br />
CSC 2109 Discrete Mathematics 3 30 -- 30 45<br />
CSC 2111 Database Management Systems I 3 30 30 -- 45<br />
CSC 2113 S<strong>of</strong>tware Engineering 4 45 -- 30 60<br />
CSC 2114 Artificial Intelligence 3 30 -- 30 45<br />
Semester 4<br />
CSC 2200 Operating Systems 4 45 -- 30 35<br />
BSE 2203 Computer Networks & Data Communication 4 45 30 -- 60<br />
CSC 2209 Systems Programming 4 45 -- 30 60<br />
CSC 2210 Automata, Complexity & Computability 3 45 -- -- 45<br />
CSC 2212 Individual Project II 3 -- 90 -- 45<br />
1 Elective<br />
BSE 2201 Network Applications Development 3 30 30 -- 45<br />
CSC 2214 Cryptology <strong>and</strong> Coding Theory 3 45 -- -- 45<br />
Year 2: Recess Term<br />
CSC 2301 Industrial Training 4 -- 120 -- 60<br />
Semester 5<br />
CSC 3103 User Interface Design 4 30 -- 60 60<br />
BIT 3102 Entrepreneurship <strong>and</strong> Business 3 30 -- 30 45<br />
CSC 3116 Operations Research 3 30 -- 30 45<br />
26
CSC 3112 Principles <strong>of</strong> Programming Languages 3 45 -- -- 45<br />
CSC 3117 Emerging Trends in Computer Science 4 15 90 -- 60<br />
2 Electives<br />
CSC 3110 Database Management Systems II 3 45 -- -- 45<br />
BIS 3100 Modeling <strong>and</strong> Simulation 4 45 -- 30 60<br />
CSC 3105 Computer Graphics 3 30 -- 30 45<br />
CSC 3114 Selected Topics in Computer Science 3 45 -- -- 45<br />
CSC 3115 Advanced Programming 3 30 -- 30 45<br />
Semester 6<br />
BIT 3204 Enterprise Network Management 4 45 -- 30 60<br />
CSC 3205 Compiler Design 3 45 -- -- 45<br />
CSC 3206 Group Project 5 -- 135 -- 60<br />
2 Electives<br />
CSC 3207 Computer Security 3 45 -- -- 45<br />
BIT 3200 Business Intelligence & Data Warehousing 4 45 30 -- 60<br />
BSE 3202 Distributed Systems Development 4 45 30 -- 60<br />
6.2.3 Course Unit Description<br />
CSC 1100: Computer Literacy (4 CU)<br />
Course Description: In this course, students are to learn about the basic organization, concepts <strong>and</strong> terminologies in<br />
a computerized environment. They are also to get an in depth underst<strong>and</strong>ing <strong>of</strong> common computer applications. The<br />
use <strong>of</strong> related applications in different operating systems will be explored. The aims <strong>of</strong> the course unit are to: Equip<br />
students with basic knowledge about computer organization; Equip students with skills <strong>of</strong> using common <strong>of</strong>fice<br />
applications; Expose students to different operating systems; Equip students with skills <strong>of</strong> how to use the Internet;<br />
<strong>and</strong> equip students with knowledge about common text editors in different operating systems. On completion <strong>of</strong> this<br />
course unit, the students will be able to: Describe the different parts <strong>of</strong> a computer; describe the historical evolution<br />
<strong>of</strong> computers; competently use the common <strong>of</strong>fice applications in at least two operating systems <strong>and</strong> competently<br />
use common text editor in at least two operating systems.<br />
Indicative Content: General computer organisation; Historical perspectives <strong>of</strong> computing; common Micros<strong>of</strong>t<br />
<strong>of</strong>fice packages; <strong>of</strong>fice packages in other operating systems; text editors; Common Linux <strong>and</strong> Using the web.<br />
Reference Books:<br />
i. J. Preston, R. Ferret <strong>and</strong> S. Gaskin, Computer Literacy, 2007.<br />
ii. J. Janrich <strong>and</strong> D. Oja, Practical Computer Literacy, 2001.<br />
CSK 1101 Communication Skills (4 CU)<br />
Course Description: This course provides students with skills <strong>of</strong> effective communication. These include verbal,<br />
written, <strong>and</strong> gesture. The course aims at facilitating students appropriately <strong>and</strong> clearly communicate with others. The<br />
aims <strong>of</strong> the course unit are to: Improve the communication competencies <strong>of</strong> the student; Improve problem solving<br />
strategies <strong>of</strong> students; improve the art <strong>of</strong> critical thinking within the student; improve the student’s ability to collect<br />
<strong>and</strong> synthesize information; provide students with knowledge to utilize the library <strong>and</strong> other educational resources.<br />
Indicative Content:<br />
• Writing Skills: Thinking critically/selectively before the writing process; selecting the relevant details;<br />
organizing the relevant details logically; writing the reports essays, letters <strong>and</strong> taking notes in appropriate<br />
register; avoiding ambiguities, fallacies, irrationalities; providing supportive evidence; editing documents,<br />
pro<strong>of</strong> reading; writing <strong>and</strong> exp<strong>and</strong>ing information; Quoting <strong>and</strong> citing references; writing a curriculum<br />
vitae.<br />
27
• Reading Skills: The use <strong>of</strong> skimming; scanning inference <strong>and</strong> prediction in reading; Intensive <strong>and</strong> critical<br />
reading; Acquisition <strong>of</strong> specific reading skills; Interpretation <strong>of</strong> non linear texts; Locating information <strong>and</strong><br />
comprehension.<br />
• Speaking <strong>and</strong> Listening Skills to Enhance Effective Public Relations: The art <strong>of</strong> persuasion in effective<br />
speaking; Conducting interviews; Conducting meetings; Participating in group discussions <strong>and</strong> tutorials;<br />
Non verbal communication clues; Presentation seminars, seeking clarification etc.; Expression <strong>of</strong><br />
politeness; Public speaking; Proper listening skills.<br />
• Examination Skills; Preparing for examinations: How much one gets from group discussions; Proper<br />
revision; Underst<strong>and</strong>ing examination rubric; Budgeting time during examination process; Writing<br />
examinations <strong>and</strong> following instructions<br />
Reference Books:<br />
i. B. Bough, 101 ways to improve your communication skills instantly, 4th edition, 2005.<br />
ii. P. Klavs, The hard Truth About s<strong>of</strong>t skills: Work Place Lessons Smart People wish they had learned sooner,<br />
2008.<br />
CSC 1104: Computer Organization & Architecture (4 CU)<br />
Course Description: This course introduces the logical architecture <strong>and</strong> organization <strong>of</strong> computer systems. It<br />
highlights the lower end operations in a typical computer as well as the way computers manage their resources<br />
during operation. The course opens up a student to be an informed user <strong>of</strong> the computer rather than a passive<br />
recipient <strong>of</strong> the computer services. Teaching will be in terms <strong>of</strong> lectures as well as tutorials. The aims <strong>of</strong> the course<br />
are: To introduce to students the concepts <strong>of</strong> computer organization; to highlight to students the way computers<br />
process <strong>and</strong> store the data; to highlight internal management issues in computer systems. By the end <strong>of</strong> the course,<br />
the student will be able to know the organization, processing <strong>and</strong> storage mechanisms <strong>of</strong> computer systems.<br />
Indicative Content: Data Representation; Integer Formats, Binary, Octal <strong>and</strong> Hexadecimal Systems, Negative<br />
integers <strong>and</strong> 2’s Complement, Floating Point Formats, BCD, Formats, Alphanumeric Codes; Basic Digital Circuits:<br />
Logic gates, Karnaugh maps, Combinatorial Circuits, Binary Adders, Multiplexers <strong>and</strong> Demultiplexers,<br />
Comparators, Decoders <strong>and</strong> Encoders, Code Converters, ROMS <strong>and</strong> PLA’s, Sequential Circuits, Flip Flops <strong>and</strong><br />
Latches, R-S flip flops, J-K flip flops, T flip Flops, D flip flops, Registers, Shift Registers <strong>and</strong> Data Transmission,<br />
Sequential Network Design. Micro Computer Architecture: CPU, Memory, I/O Devices <strong>and</strong> Interfaces, System Bus,<br />
Examples <strong>of</strong> CPU Structures, The Intel / Pentium CPU, The Z-80 or Motorola, Machine Language Instructions,<br />
Instruction Formats <strong>and</strong> Addressing Modes; The Processing Elements: Macroinstruction execution, Internal Bus<br />
Transfers, Detailed Internal Architecture, Micro control, Hardwired; Control, Micro-programmed Control, Reduced<br />
Instruction Set Computers; I/O Programming: Programmed I/O, Interrupt I/O, Polling, Priority Interrupt System,<br />
Direct Memory Access, I/O processors; Memory Systems <strong>and</strong> Memory Management: Memory Hierarchy, Main<br />
Memory, Auxiliary Memory, Associative Memory, Cache Memory, Virtual Memory, Memory Management<br />
Hardware.<br />
Reference Books:<br />
i. M. M. Mano, Computer Systems Architecture, Prentice Hall, 1993.<br />
ii. A. S. Tanebaum , Structured Computer Organization , Prentice Hall ,1984.<br />
iii. G. B. Gibson, Computer Systems Concepts <strong>and</strong> Design, Prentice Hall, 1991.<br />
iv. W. Stallings, Computer Organization <strong>and</strong> Architecture, Prentice Hall, 2003.<br />
CSC 1105: Numerical Methods (3 CU)<br />
Course Description: The course is to sharpen the students’ skills in using numerical approaches to solve<br />
mathematical/real life problems. The focus will be on the ability to correctly formulate numerical problems <strong>and</strong><br />
schemes that solve them. Emphasis will be put on the precision <strong>and</strong> robustness <strong>of</strong> the schemes. The course will be<br />
taught theoretically. The developed schemes can be implemented <strong>and</strong> run in any programming language. The aims<br />
<strong>of</strong> the course are; to provide a solid basis on the numerical approaches to computational problem solving; To<br />
provide students with problem analysis <strong>and</strong> solving skills to be able to h<strong>and</strong>le typical computational problems in<br />
28
practice. By the end <strong>of</strong> the course, the student should be able to; Derive schemes for different set ups <strong>of</strong> numerical<br />
problems; Test for convergence <strong>of</strong> different schemes; correctly use the schemes to generate solutions to the<br />
numerical problems to the required precision.<br />
Indicative Content: Numerical solutions to non linear equations; Numerical solutions for systems <strong>of</strong> linear<br />
equations; Fast - Fourier transforms; Numerical differentiation; Numerical integration; Numerical solutions for<br />
differential <strong>and</strong> difference equations.<br />
Reference Books:<br />
i. R. L. Burden <strong>and</strong> J. D. Faires, Numerical Analysis, Wardsworth, 1993.<br />
ii. K. Kaw, E. E. Kalu <strong>and</strong> D. Nguyen, Numerical Methods with Applications, 2008.<br />
CSC 1106 Programming Methodology I (3 CU)<br />
Course Description: The course is to create a strong base in the principles <strong>and</strong> practice <strong>of</strong> functional programming.<br />
A high level programming language lie C is to be used. The students are to cover both theoretical principles <strong>and</strong><br />
h<strong>and</strong>s on practical skills. The main concepts to cover include Programme structure, data structures, syntactical <strong>and</strong><br />
semantic correctness, planning <strong>and</strong> segmentation in programming as well as working with data files. The aims <strong>of</strong> the<br />
course are to provide the student with: Comprehensive knowledge about structured oriented programming;<br />
Knowledge in planning <strong>and</strong> organization <strong>of</strong> programming projects; Knowledge <strong>and</strong> techniques <strong>of</strong> evaluating<br />
syntactic <strong>and</strong> semantic correctness <strong>of</strong> a computer Programme <strong>and</strong>; Strong practical basis in programming.<br />
Indicative Content: Programme structure; Variables <strong>and</strong> Operators; Conditional statements; Looping statements;<br />
Arrays <strong>and</strong> strings; Functions; Advanced data types; Pointers; Dynamic memory allocation <strong>and</strong> dynamic structures;<br />
Working with files <strong>and</strong> GUI.<br />
Reference Books:<br />
i. B. W. Kernighan, D. M. Ritchie, C Programming Language, 2nd edition, 1989.<br />
ii. S. P. Harbison, A Reference Manual , 5th edition, 2004.<br />
CSC 1204 Research Methodology (3 CU)<br />
Course Description: The purpose <strong>of</strong> this course is to acquaint students with types <strong>of</strong> scientific research relevant for<br />
anyone working in the field <strong>of</strong> computer science. It will enable students to develop capacity to conduct small, simple<br />
research projects while at the university. The aims <strong>of</strong> the course are to provide the student with: Enable students<br />
become competent in underst<strong>and</strong>ing the research process. Provide skills that will enable students undertake<br />
independent research using a variety <strong>of</strong> appropriate methods, using primary <strong>and</strong> secondary data, as well as<br />
qualitative <strong>and</strong> quantitative techniques. Provide students with skills to produce a research proposal <strong>and</strong> highlight<br />
ethical research practices to students.<br />
Indicative Content: Introduction to scientific research; Formulating <strong>and</strong> clarifying the research topic <strong>and</strong> research<br />
problem; Conducting a literature review; Different research approaches; Ethics in research; Sampling; Use <strong>of</strong><br />
secondary data; Collection methods for primary data; Analyzing qualitative data; Analyzing quantitative data <strong>and</strong><br />
writing a research proposal <strong>and</strong> project report.<br />
Reference Books:<br />
i. H. Cooper, Synthesizing Research: A Guide for Literature Reviews, Thous<strong>and</strong> Oaks California: Sage<br />
Publications, 1998.<br />
ii. M. Sounders, P. Lewis & A. Thornhill, Research Methods for Students, 3rd edition, UK, Financial times,<br />
Prentice hall, 2003.<br />
CSC 1206: Computational Mathematics (4 CU)<br />
Course Description: The course gives the students a strong mathematical base to be able to tackle other computer<br />
problems. The course brings together mathematical topics which are commonly used in the general area <strong>of</strong> computer<br />
science. It builds a foundation for other courses that need special mathematical backgrounds. The teaching will<br />
largely involve lectures, together with tutorials <strong>and</strong> take home assignments The aims <strong>of</strong> the course are: To provide<br />
29
students with a mathematical base that is to be used to solve computer science problems; To improve the problem<br />
solving skills <strong>of</strong> students.<br />
Indicative Content:<br />
• Calculus; Sequences <strong>and</strong> limits; Limits <strong>of</strong> functions & continuity Advanced differential calculus<br />
• Statistics; Discrete R<strong>and</strong>om variables <strong>and</strong> distributions; Continuous distributions; Basics <strong>of</strong> Monte Carlo<br />
simulations<br />
• Further topics; Mathematics for image processing; Mathematics for signal processing<br />
Reference Books:<br />
i. G. B. Thomas <strong>and</strong> R. L. Finney, Calculus <strong>and</strong> Analytic Geometry, 9th edition, Addison Wesley, 1995.<br />
ii. R. E. Walpole, Introduction to Statistics, 3 rd edition, Prentice Hall, 1982.<br />
CSC 1207 Programming Methodology II (3 CU)<br />
Course Description: The course is to give an in depth underst<strong>and</strong>ing <strong>of</strong> Object Oriented programming. It is to cater<br />
for Object Oriented Programming practices like inheritance, interfaces, exception h<strong>and</strong>ling, action h<strong>and</strong>ling,<br />
security, s<strong>of</strong>tware reuse <strong>and</strong> robustness. The aim <strong>of</strong> the course is to: Move the students’ programming skills from<br />
basic to advanced; Avail students with skills to h<strong>and</strong>le non functional Programme aspects like robustness <strong>and</strong><br />
security <strong>and</strong> train students to develop complete computer applications.<br />
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
Reference Books:<br />
i. J. Lewis <strong>and</strong> W. L<strong>of</strong>tus, Java S<strong>of</strong>tware Solution: Foundations <strong>of</strong> Programme Design, 4th edition, 2008.<br />
ii. K. A. Mughal <strong>and</strong> R. W. Rasmussen, A Programmer’s Guide to Java TM Certification: A comprehensive<br />
Primer, 3rd edition, 2008.<br />
CSC 1208: Individual Project I (4 CU)<br />
Course Description: This course is to give students an experience <strong>of</strong> developing simple but complete applications.<br />
Focus will be put on programming <strong>and</strong> Programme documentations as well as realization <strong>of</strong> the objectives. The aims<br />
<strong>of</strong> the course are: To practically give students skills <strong>of</strong> integrating different concepts <strong>of</strong> programming into a single<br />
application; To introduce the student to h<strong>and</strong>s on aspects <strong>of</strong> s<strong>of</strong>tware development; To nurture the student’s ability<br />
to independently read different sources <strong>of</strong> literature so as to identify what (s)he can use to develop his/her<br />
application.<br />
Indicative Content: The main content in the course is translation <strong>of</strong> a real life problem into a working computer<br />
Programme.<br />
References: Students can read any literature like books <strong>and</strong> online tutorials that can help in addressing the problem<br />
in the project at h<strong>and</strong>.<br />
CSC 1209 Logic Programming (3 CU)<br />
Course Description: This course introduces a paradigm where computation arises from pro<strong>of</strong> search in logic<br />
according to a fixed, predictable strategy. It thereby unifies logical specification <strong>and</strong> implementation in a way that is<br />
quite different from functional or imperative programming. This course provides a thorough, modern introduction to<br />
logic programming. It introduces the basic concepts <strong>and</strong> techniques <strong>of</strong> logic programming followed by successive<br />
refinement towards more efficient implementations or extensions to richer logical concepts. It covers a variety <strong>of</strong><br />
logics <strong>and</strong> operational interpretations. The aim <strong>of</strong> the course is to provide a basic introduction to the logic<br />
Programming language <strong>and</strong> Prolog. It aims at introducing a number <strong>of</strong> logical systems <strong>of</strong> importance in computer<br />
science.<br />
30
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
Reference Books:<br />
i. M. R. Huth <strong>and</strong> M. D. Ryan, Logic in Computer Science, Modelling <strong>and</strong> Reasoning about Systems,<br />
Cambridge University Press, 2000.<br />
ii. SWI Prolog Home page, http://www.swi-prolog.org/<br />
CSC 1301: Practical Skills Development (4 CU)<br />
Course Content: The course aims at imparting practical skills in areas chosen by the faculty. The students are to be<br />
supervised by staff with in the faculty. Areas <strong>of</strong> practical skills development include; Implementation <strong>of</strong> projects;<br />
Network <strong>and</strong> system administration; Hardware maintenance <strong>and</strong> Computer assembly.<br />
This can be done within the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology or any other unit in Makerere<br />
University. Students will write a report at the end <strong>of</strong> the course.<br />
CSC 1303: Cisco Certified Network Associate (Audited) (5 CU)<br />
Course Content: In this course, students will cover the course content <strong>of</strong> the CCNA international curriculum.<br />
CSC 2100: Data Structures <strong>and</strong> Algorithms (4 CU)<br />
Course Description: Upon successful completion the students should be able to: Demonstrate factual knowledge<br />
including the mathematical notation, syntax <strong>and</strong> terminology used in the course; describe the fundamental principles<br />
including the laws <strong>and</strong> theorems arising from the concepts covered in this course; Apply course material along with<br />
techniques <strong>and</strong> procedures covered in this course to solve practical problems; Design simple algorithms <strong>and</strong> data<br />
structures in C <strong>and</strong> use theories <strong>and</strong> concepts covered in the course to approximate the complexities <strong>of</strong> algorithms.<br />
Indicative Content: Methods for modularizing, documenting <strong>and</strong> constructing Programmes (abstract data types/<br />
object orientation), <strong>and</strong> an introduction to classical data structures <strong>and</strong> algorithms with complexity analysis.<br />
Application <strong>and</strong> implementation <strong>of</strong> strings, arrays, stacks queues, lists, trees <strong>and</strong> graphs; Abstract data types; storage<br />
management; Sorting, searching, merging, reference <strong>and</strong> cross-referencing files; Design <strong>and</strong> analysis <strong>of</strong> algorithms,<br />
complexity <strong>of</strong> algorithms, big-O <strong>and</strong> small-O notation. Binary trees, B-trees, B*-trees, <strong>and</strong> AVL-trees; Study <strong>of</strong> disk<br />
<strong>and</strong> tape file organizations; Creation <strong>of</strong> sequential, direct, <strong>and</strong> indexed sequential files; Hashing techniques <strong>and</strong><br />
address overflows; Primary <strong>and</strong> secondary key usage, inverted <strong>and</strong> linked-list files; Semantic Nets, frames.<br />
Reference Books:<br />
i. A. V. Aho, J. D. Ullman, J. E. Hopcr<strong>of</strong>t, Data Structures <strong>and</strong> Algorithms, Addison-Wesley, 1983.<br />
ii. A. V. Aho, The Design <strong>and</strong> Analysis <strong>of</strong> Computer Algorithms, Addison-Wesley, Longman, 1974.<br />
iii. T. H. Cormen, C. E. Leiserson, R. L. Rivest, <strong>and</strong> C. Stein, Introduction to Algorithms, 2nd edition,<br />
McGraw-Hill, 2008.<br />
BSE 2105 Formal Methods (4 CU)<br />
Course Description: The course provides students with skills <strong>of</strong> solving generic formal problems in science. It<br />
covers the intellectual <strong>and</strong> practical skills necessary for problem formalization.<br />
Students will be provided with factual knowledge including the mathematical notations <strong>and</strong> terminologies used in<br />
formalizing scientific problems; fundamental principles including the laws <strong>and</strong> theorems arising from the concepts<br />
covered in this course; They will be able to apply course material along with techniques <strong>and</strong> procedures to solve<br />
practical problems; The course will provide them programming skills by writing numerical Programmes like Matlab<br />
Programmes, to solve numerical problems.<br />
31
Indicative Content:<br />
• Predicate Logic Specification: Foundations; Basic concepts; Verification; Z; Tools <strong>and</strong> systems; Z<br />
animation Mir<strong>and</strong>a <strong>and</strong> ZANS; Nitpick <strong>and</strong> the Z Notation.<br />
• Algebraic Specification: Foundations; Basic concepts; Verification; Tools <strong>and</strong> systems; Mir<strong>and</strong>a; The OBJ<br />
family <strong>of</strong> languages; LARCH<br />
Reference Books:<br />
i. A. Diller, Z: an Introduction to Formal Methods, 2nd edition, Wiley, 1994.<br />
ii. M. Huth <strong>and</strong> M. Ryan, Logic in Computer Science: Modelling <strong>and</strong> Reasoning about Systems, Cambridge<br />
University Press; 2nd edition, 2004.<br />
iii. R. Gupta, L. Guernic, P. S .K. Shukla, <strong>and</strong> J. P. Talpin,, Formal Methods <strong>and</strong> Models for System Design:<br />
A System Level Perspective, 2004.<br />
CSC 2109: Discrete Mathematics (3 CU)<br />
Course Description: The course applies mathematics to finite or discontinuous quantities in order to master the<br />
process <strong>of</strong> problem-solving, communication, reasoning, <strong>and</strong> modeling. It gives a basic underst<strong>and</strong>ing <strong>of</strong><br />
mathematical structures that are fundamentally discrete. Objects studied in discrete mathematics are largely<br />
countable sets such as integers, finite graphs, <strong>and</strong> formal languages. Applications <strong>of</strong> such concepts to computer<br />
science are to be studied. Concepts <strong>and</strong> notations from discrete mathematics are useful in studying <strong>and</strong> describing<br />
objects <strong>and</strong> problems in computer algorithms <strong>and</strong> programming languages. The aim <strong>of</strong> this course is to provide the<br />
student with: - a basic underst<strong>and</strong>ing <strong>of</strong> mathematical objects that assume only distinct, separate values, rather than<br />
values on a continuum; the main ideas studied in the broad area <strong>of</strong> Discrete Mathematics especially clear algorithmic<br />
aspects; an underst<strong>and</strong>ing <strong>of</strong> what the relation between problems is.<br />
Indicative Content: Logics <strong>and</strong> set theory; Number theory; Relations <strong>and</strong> functions; Languages; Finite state<br />
machines (<strong>and</strong> optionally Finite state automata); Groups <strong>and</strong> Modulo Arithmetic; Number <strong>of</strong> solutions <strong>of</strong> a linear<br />
equation; Recurrence relations; Searching algorithms.<br />
Reference Books:<br />
i. L. S. Bobrow, <strong>and</strong> M. A. Arbib, Discrete Mathematics: Applied Algebra for Computer <strong>and</strong> Information<br />
Science Philadelphia, PA: Saunders, 1974.<br />
ii. J. A. Dossey, A. D. Otto, L. Spence, <strong>and</strong> C. V. Eynden, Discrete Mathematics, 3rd edition. Reading, MA:<br />
Addison-Wesley, 1997.<br />
iii. V. K. Balakrishnan, Introductory Discrete Mathematics, New York: Dover, 1997.<br />
CSC 2111: Database Management Systems I (3 CU)<br />
Course Description: This course is to provide students with a strong foundation in systematic approaches to design<br />
<strong>and</strong> implementing <strong>of</strong> database applications. Preliminarily, operations like requirements gathering <strong>and</strong> database<br />
planning will be covered. The course will also introduce students to developing <strong>of</strong> application Programmes that talk<br />
to the database. These applications may be online or <strong>of</strong>fline. The aims <strong>of</strong> the course are to: Provide a background for<br />
the evolution <strong>of</strong> database (management) systems; Provide the students with the steps one has to go through when<br />
developing good database applications; Give h<strong>and</strong> on experience <strong>and</strong> knowledge in developing database (driven)<br />
applications<br />
Indicative content: Background to databases; Evolution <strong>of</strong> database systems; Database organization <strong>and</strong><br />
architecture; Data base models; Over view <strong>of</strong> database application development; The database development life<br />
cycle; Database design; Conceptual design; Logical design; Physical Design; Querying databases; SQL/PL SQL<br />
<strong>and</strong> Scripting.<br />
32
Reference Books:<br />
i. T. Connolly <strong>and</strong> C. Begg, Database Systems: A Practical Approach to Design, Implementation <strong>and</strong><br />
Management, 2nd edition, Addison-Wesley, 2004.<br />
CSC 2113: S<strong>of</strong>tware Engineering (4 CU)<br />
Course Description: This course introduces students to the foundations <strong>of</strong> s<strong>of</strong>tware engineering as a discipline.<br />
Students are introduced to the evolving role <strong>of</strong> s<strong>of</strong>tware engineering, especially with emphasis on s<strong>of</strong>tware<br />
engineering process <strong>and</strong> process models. Key topics covered include S<strong>of</strong>tware configuration management,<br />
Requirement analysis, S<strong>of</strong>tware Specification, Design methods, S<strong>of</strong>tware testing, S<strong>of</strong>tware project management<br />
techniques; S<strong>of</strong>tware project planning, Risk management; S<strong>of</strong>tware Quality Assurance; S<strong>of</strong>tware reuse; <strong>and</strong><br />
Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />
Indicative Content<br />
• Evolving role <strong>of</strong> s<strong>of</strong>tware, s<strong>of</strong>tware characteristics; Systems <strong>and</strong> environment; system engineering<br />
hierarchy, information <strong>and</strong> knowledge engineering; Information strategy; Business Area analysis, modeling<br />
enterprise <strong>and</strong> business-level data modeling, system architecture <strong>and</strong> associated information flow; writing<br />
system specification.<br />
• S<strong>of</strong>tware Engineering as a layered technology: S<strong>of</strong>tware process, s<strong>of</strong>tware process models. S<strong>of</strong>tware<br />
configuration management: the SCM process, Identification <strong>of</strong> objects in s<strong>of</strong>tware configuration, version<br />
control, change control, configuration audit, SCM st<strong>and</strong>ards.<br />
• Requirement analysis: Communication techniques, Information gathering tools; organizing <strong>and</strong> structuring<br />
information; analysis principles; Analysis modeling.<br />
• S<strong>of</strong>tware Specification: Design process, principles <strong>and</strong> concepts: Abstraction, refinement, modularity,<br />
control hierarchy, structural partitioning, information hiding, functional independence, cohesion, coupling,<br />
design heuristics;<br />
• Design methods: data design, architectural design, transform mapping, design optimization, human<br />
computer interface design, procedural design <strong>and</strong> tools; Design documentation.<br />
• S<strong>of</strong>tware testing: Testing objectives, Testing principles, Testability, test case designing, white box testing;<br />
Basis path testing: Condition testing, data flow testing, loop testing; Black box testing: graph based testing<br />
methods, equivalence partitioning, Boundary value analysis, comparison testing; Testing documentation<br />
<strong>and</strong> help facilities; S<strong>of</strong>tware testing strategy: unit testing, integration testing, validation testing, system<br />
testing.<br />
• S<strong>of</strong>tware project management techniques: project metrics, s<strong>of</strong>tware measurement <strong>and</strong> metrics, s<strong>of</strong>tware<br />
quality metrics;<br />
• S<strong>of</strong>tware project planning: objectives <strong>of</strong> planning, resources, project estimation <strong>and</strong> estimation models,<br />
project decomposition techniques, make-buy decisions; automated estimation tools.<br />
• Risk management: s<strong>of</strong>tware risks, risk identification, risk projection, risk mitigation, monitoring <strong>and</strong><br />
management; Project Scheduling: people <strong>and</strong> effort relationships, defining tasks, defining task network,<br />
scheduling techniques; S<strong>of</strong>tware teams <strong>and</strong> intra-team relationships; role <strong>of</strong> project manager.<br />
• S<strong>of</strong>tware Quality Assurance: Concept <strong>of</strong> quality, quality control vs. quality assurance, cost <strong>of</strong> quality,<br />
factors that affect quality, quantitative view <strong>of</strong> quality, quality metrics, defect removal efficiency SQA<br />
activities, ISO st<strong>and</strong>ards <strong>and</strong> CMM practices, SEI levels, S<strong>of</strong>tware reviews, Formal approaches to SQA,<br />
Statistical Quality Assurance. S<strong>of</strong>tware reliability, reliability metrics, reliability models, meeting reliability<br />
requirements.<br />
• Effective metrics for s<strong>of</strong>tware process: Measurement principles, attributes <strong>of</strong> s<strong>of</strong>tware metrics, metrics for<br />
analysis model, metrics for design model, metrics for source code, metrics for maintenance.<br />
• S<strong>of</strong>tware reuse: difficulties in reuse, hardware reuse vs. s<strong>of</strong>tware reuse, reusable artifacts, domain<br />
33
engineering approach, analysis design <strong>and</strong> construction <strong>of</strong> reusable components, classification <strong>and</strong> retrieval<br />
<strong>of</strong> components, economic impact <strong>of</strong> reuse <strong>and</strong> reuse metrics.<br />
• Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />
Reference Books:<br />
i. J. F. Peters, W. Pedrycz, S<strong>of</strong>tware Engineering: An Engineering approach, John Wiley, 2000.<br />
ii. R. S. Pressman, S<strong>of</strong>tware Engineering: A Practitioners Approach, 5th edition, McGraw Hill, 2005.<br />
iii. I. Sommerville, S<strong>of</strong>tware engineering, 8th edition, Addison Wesley, 2008.<br />
iv. D. Ghezzi, M. Jazayeri, D. M<strong>and</strong>rioli, Fundamentals <strong>of</strong> S<strong>of</strong>tware Engineering, Prentice Hall <strong>of</strong> India, 2004.<br />
CSC 2114 Artificial Intelligence (3 CU)<br />
Course Description: This course examines the concepts, techniques, applications, <strong>and</strong> theories <strong>of</strong> Artificial<br />
Intelligence. The focus <strong>of</strong> the course is on the theory <strong>and</strong> application <strong>of</strong> artificial intelligence. Topics include logic,<br />
search, <strong>and</strong> reasoning with an emphasis on fundamentals <strong>and</strong> recent advances in AI. Given the broad range <strong>of</strong> topics<br />
addressed by the AI field, topics for discussion must, necessarily, be limited. Therefore, this course will focus on<br />
issues <strong>of</strong> search, knowledge representation, <strong>and</strong> reasoning, decision making <strong>and</strong> learning from the perspective <strong>of</strong> an<br />
intelligent agent.<br />
Indicative Content:<br />
• Introduction to Artificial Intelligence: Simulation <strong>of</strong> Intelligence behavior, in different areas;<br />
• Problem solving: games, natural language question answering, visual perception, learning; Aim-oriented<br />
(heuristic) algorithms versus solution-guaranteed algorithms.<br />
• Underst<strong>and</strong>ing Natural Languages: Parsing techniques, context free <strong>and</strong> transformational grammars,<br />
transition nets, augmented transition nets, grammar-free analyzers, sentence generation.<br />
• Knowledge Representation: First-order predicate calculus; PROLOG <strong>and</strong> LISP languages; Semantic nets;<br />
partitioned nets; Production rules; knowledge base, the inference system, forward <strong>and</strong> backward deduction.<br />
• Expert System: Existing systems (DENDRAL, MYCIN), Domain exploration; Meta-knowledge, expertise<br />
transfer, self explaining systems.<br />
• Pattern Recognition Structured Descriptions: Symbolic description, m<br />
• Machine perception, line finding, interpretation, semantics <strong>and</strong> models, object identification <strong>and</strong> speech<br />
recognition.<br />
Reference Books:<br />
i. R. Duda, P. Hart, Pattern Classification <strong>and</strong> Scene Analysis, Wiley, 1973.<br />
ii. E. A. Feigenbaum, J. Feldman; Computers <strong>and</strong> Thoughts, AAAI Press, 1995.<br />
iii. N. J. Jilsson, Problem Solving Methods in Artificial Intelligence, McGraw-Hill, 1971.<br />
iv. J. Lloyd, Foundation <strong>of</strong> Logic Programming, Springer-Verlag, 1993<br />
CSC 2200: Operating Systems (4 CU)<br />
Course Description: Operating Systems course introduces students to s<strong>of</strong>tware that controls hardware <strong>and</strong> makes<br />
the hardware usable. Its interaction with other computer devises <strong>and</strong> how it controls other computer processes is<br />
explored. The Course aims at providing students with a detailed underst<strong>and</strong>ing <strong>of</strong> how operating systems work;<br />
skills to write basic Programmes to utilize underlying operating system infrastructures. At the end <strong>of</strong> the course,<br />
students are able to know the dominant categories <strong>of</strong> operating systems are Windows <strong>and</strong> UNIX (Linux, Mac OS,<br />
Solaris, etc). Students <strong>of</strong> operating systems are expected to have a proper underst<strong>and</strong>ing <strong>of</strong> the differences between<br />
these two. Students should be able to underst<strong>and</strong> different design principles for operating systems <strong>and</strong> various<br />
s<strong>of</strong>tware tools that make operating systems usable.<br />
34
Indicative Content; Operating Systems Structures; Processes <strong>and</strong> threads; Thread creation, manipulation <strong>and</strong><br />
synchronization; Deadlock; Implementing Synchronization operations; CPU scheduling; Memory management;<br />
File systems <strong>and</strong> file system implementation; Monitors; Segments; Disk Scheduling; Networking; UDP <strong>and</strong> TCP.<br />
Reference Book:<br />
i. W. Stallings, Operating Systems: Internals <strong>and</strong> Design Principles, 5th edition, Prentice Hall, 2005.<br />
BSE 2203 Computer Networks & Data Communication (4 CU)<br />
Course Description: This course examines principles, design, implementation, <strong>and</strong> performance <strong>of</strong> computer<br />
networks <strong>and</strong> data communication. The aim is to sharpen student’s underst<strong>and</strong>ing <strong>and</strong> skills in computer networking<br />
<strong>and</strong> data communication. Subjects for discussion include: Internet protocols <strong>and</strong> routing, local area networks, wide<br />
area networking, wireless communications <strong>and</strong> networking, performance analysis, congestion control, TCP, network<br />
address translation, multimedia over IP, switching <strong>and</strong> routing, mobile IP, peer-to-peer networking, network<br />
security, <strong>and</strong> other current research topics <strong>and</strong> technologies.<br />
Indicative Content: Network services <strong>and</strong> applications: DNS, HTTP, SMTP, peer-to-peer systems; Network<br />
transport architectures, TCP, UDP, TCP congestion control; Routing <strong>and</strong> forwarding, intra-domain, inter-domain<br />
routing algorithms<br />
<strong>and</strong> Mobile IP; Link layers <strong>and</strong> local area networks, Ethernet, WiFi, <strong>and</strong> mobility; Multimedia communications <strong>and</strong><br />
quality <strong>of</strong> service; Network measurement, inference, <strong>and</strong> management; Network security (ACL, IPSec, etc);<br />
Network programming Network experimentation <strong>and</strong> performance analysis; Protocol verification.<br />
Reference Books;<br />
i. J. F. Kurose <strong>and</strong> K. W. Ross, Computer Networking – A Top Down Approach Featuring the Internet, 3rd<br />
edition, Addison- Wesley, 2004.<br />
ii. L. Peterson <strong>and</strong> B. Davie, Computer Networks: A Systems Approach. Morgan Kaufmann Publishers, 1999.<br />
CSC 2209: Systems Programming (4 CU)<br />
Course Description: Systems programming is aimed at teaching students how to write Programmes using system<br />
level services. The system <strong>of</strong> instruction is UNIX due to availability <strong>of</strong> free system tools that have been largely<br />
developed by <strong>and</strong> for the academia. The course is aimed at giving students skills in tools provided by systems, their<br />
comm<strong>and</strong>s, system calls <strong>and</strong> underst<strong>and</strong>ing for model <strong>of</strong> computation.<br />
Indicative Content: Introduction <strong>and</strong> Unix St<strong>and</strong>ardization; File input <strong>and</strong> output; St<strong>and</strong>ard I/O Library; Files <strong>and</strong><br />
Directories; System Data Files <strong>and</strong> Information; Process Environment; Process Control; Process Relationships;<br />
Signals; Threads; Advanced I/O <strong>and</strong> Inter process Communication<br />
Reference Book:<br />
i. W. R. Stevens, Advanced programming in the Unix Environment, Addison-Wesley, 2008.<br />
CSC 2210 Automata, Complexity <strong>and</strong> Computability (3 CU)<br />
Course Description: The course introduces students to the concept <strong>of</strong> automata <strong>and</strong> complexity. It sets a<br />
background for more advanced studies like compiler construction <strong>and</strong> principles <strong>of</strong> programming languages. The<br />
aims <strong>of</strong> the course are: To introduce students to the concepts <strong>of</strong> complexity, automata <strong>and</strong> computability; to prepare<br />
students for advanced studies in compiler construction <strong>and</strong> principle <strong>of</strong> programming languages;<br />
Indicative content: Finite state machines <strong>and</strong> regular languages: Deterministic <strong>and</strong> non deterministic machines;<br />
Equivalence <strong>and</strong> minimization; Regular expressions <strong>and</strong> regular grammars; Kleene’s theorem. Push-down automata<br />
<strong>and</strong> context free grammars; Normal forms <strong>of</strong> grammars; Top-down <strong>and</strong> bottom-up parsing; Turing machines <strong>and</strong><br />
computability; Church’s thesis; NP-Computable problems.<br />
35
Reading Books:<br />
i. J. E. Hopcr<strong>of</strong>t, R. Motwani, J. D. Ullman, Introduction to Automata Theory, Languages, <strong>and</strong><br />
Computation; Addison Wesley, 2000.<br />
ii. I. A. D. Cohen, Introduction to Computer Theory; John Wiley <strong>and</strong> Sons, Inc, 1996.<br />
CSC 2212 Individual Project II (3 CU)<br />
Course Description: The course is to strengthen the students’ h<strong>and</strong> on skills on integration <strong>of</strong> the different skills<br />
into a programming project. Students are expected to develop a running computer application bigger in size <strong>and</strong><br />
more polished than in CSC 1208 Individual Project I. More emphasis will be put on creativity, robustness, data<br />
validation, security <strong>and</strong> completeness. The aims <strong>of</strong> the course are: To provide an avenue for students to integrate<br />
different subject areas into a single application; To sharpen the students problem solving skills; To improve<br />
student’s ability to read on his/her own as an avenue for solving a certain real life problem.<br />
Indicative Content: The content <strong>of</strong> this course is to be determined by the problem the student intends to address.<br />
Reference: Students will be required to read any literature related to the project at h<strong>and</strong>.<br />
BSE 2201 Network Applications Development (3 CU)<br />
Course Description: This course gives students theoretical principles <strong>and</strong> h<strong>and</strong>s on experience <strong>of</strong> developing<br />
network applications. It caters for functional <strong>and</strong> non functional issues peculiar to network applications. These<br />
include security, robustness <strong>and</strong> performance. The aim <strong>of</strong> the course is to: Give students’ theoretical <strong>and</strong> practical<br />
skills <strong>of</strong> developing network applications; Equip students with security <strong>and</strong> performance aspects <strong>of</strong> network based<br />
applications; exp<strong>and</strong> the applications <strong>of</strong> students programming skills.<br />
Indicative Content: Design principles for network-based applications; Design <strong>and</strong> development <strong>of</strong> Java Servlets,<br />
JSP, Web services <strong>and</strong> NET; Principles <strong>of</strong> information security in network-based applications; http <strong>and</strong> https<br />
protocols.<br />
Reference Book:<br />
i. M. Hall, Core Servlets <strong>and</strong> Java Server Pages, Volume 1: Core Technologies, 2nd Edition, Prentice Hall,<br />
2000.<br />
CSC 2214 Cryptology <strong>and</strong> Coding Theory (3 CU)<br />
Course Description: This course provides a foundation for further studies in information security. The course<br />
introduces students to the exciting fields <strong>of</strong> cryptology <strong>and</strong> coding theory. Fundamentally, it deals with the<br />
mathematics that underlies modern cryptology. Cryptology combines the studies <strong>of</strong> cryptography, the creating <strong>of</strong><br />
masked messages, <strong>and</strong> cryptanalysis, the unraveling <strong>of</strong> masked messages. Coding theory is the study <strong>of</strong> coding<br />
schemes used to detect <strong>and</strong> correct errors that occur during the data transmission. The aims <strong>of</strong> this course are; To<br />
underst<strong>and</strong> the building blocks <strong>of</strong> crypto systems <strong>and</strong> error correction; To gain historical underst<strong>and</strong>ing <strong>of</strong> the<br />
evolution <strong>of</strong> crypto systems; To develop tools necessary to crypto analyze crypto systems; To gain insights in the<br />
practical application <strong>of</strong> cryptology <strong>and</strong> error correction in the modern information age; To underst<strong>and</strong> the goals <strong>and</strong><br />
trade-<strong>of</strong>fs associated with encryption <strong>and</strong> error-control coding systems.<br />
Indicative Content: History <strong>of</strong> cryptology <strong>and</strong> coding theory; Shift registers Classical crypto-systems; Stream<br />
ciphers; Block ciphers; Information theory; Crypto analysis techniques; Introduction to Elliptic curve cryptography;<br />
Basic Algebra; Coding theory fundamentals; Linear codes; Hamming codes; Secret sharing schemes; Introduction<br />
to Complexity; Hash functions; PGP & PKI Deffie-hellman key exchange protocol.<br />
36
Reference Books:<br />
i. A. Menezes, P. V. Oorschot, <strong>and</strong> S. Vanstone, <strong>H<strong>and</strong>book</strong> <strong>of</strong> Applied Cryptography, CRC Press, Trappe &<br />
Washington, 1996.<br />
ii. Trappe <strong>and</strong> Washington, Introduction to Cryptography with Coding Theory, 2nd edition, Prentice Hall,<br />
2006.<br />
iii. S. Singh, The Code Book, Doubleday, 1999.<br />
iv. S. S. Adams, Introduction to Algebraic Coding Theory with Gap, 2005.<br />
CSC 2301 Industrial Training (4 CU)<br />
Course Description: During Industrial training, students are to go <strong>and</strong> work in an organization with an IT<br />
department. The student is to be under the supervision <strong>of</strong> one <strong>of</strong> the workers in the organization. The student is<br />
assigned duties in line with the operations <strong>of</strong> the organization. Staff from Makerere University will make visits to<br />
get the students’ view <strong>of</strong> the organization as well as the organization’s view about the student. The supervisor will<br />
be given a form to evaluate the students <strong>and</strong> the student will make a report about his experience. The two reports<br />
will be used to evaluate the student.<br />
CSC 3103: User Interface Design (4 CU)<br />
Course Description The course introduces the principles <strong>of</strong> user interface development, focusing on design,<br />
implementation <strong>and</strong> evaluation. The course aims at providing different skills to students, such as: Developing<br />
efficient, flexible <strong>and</strong> interactive User Interfaces (UI); Provide ability to identifying system users, the tasks they<br />
want to carry out <strong>and</strong> the environment in which they will be working; Creating a conceptual designs; Designing<br />
various kinds <strong>of</strong> UI, in particular graphical user interfaces (GUIs) <strong>and</strong> websites; evaluating UIs; Appreciation <strong>of</strong><br />
realities <strong>of</strong> developing usable UIs in an organization.<br />
Indicative Content: Usability; User-Centered Design; UI S<strong>of</strong>tware Architecture; Human Capabilities; Output<br />
Models; Conceptual Models <strong>and</strong> Metaphors; Input Models; Design Principles; Paper Prototyping; Constraints <strong>and</strong><br />
Layouts; Graphic Design; Computer Prototyping; Heuristic Evaluation; User Testing; Experiment Design <strong>and</strong><br />
Experiment Analysis.<br />
Reference Books:<br />
i. D. A. Norman, The Design <strong>of</strong> Everyday Things, New York, NY: Doubleday, 1990.<br />
ii. J. Nielsen, Usability Engineering, Burlington, MA: Academic Press, 1994.<br />
iii. K, Mullet, <strong>and</strong> D. Sano, Designing Visual Interfaces: Communication Oriented Techniques. Prentice Hall,<br />
1994.<br />
CSC 3110 Database Management Systems II (3 CU)<br />
Course Description: The course gives students advanced knowledge in the operation <strong>of</strong> database management<br />
systems. Operational aspects like speed <strong>and</strong> security are to be extensively addressed. Internal operations <strong>of</strong> database<br />
management systems like indexing, query processing <strong>and</strong> transactions are to be covered. These are to create a strong<br />
basis for future advanced studies/research. The course is to equip students with fundamental knowledge <strong>of</strong> the<br />
operation <strong>of</strong> database systems <strong>and</strong> how they interact with the operating system.<br />
Indicative Content: Enhanced ER modeling, Tuning (operational) systems to improve performance, advanced<br />
scripting, Data validation, Relational algebra <strong>and</strong> Relational calculus, Low level output representation using<br />
relational calculus, Query processing, Transactions management, Indexing <strong>and</strong> hashing.<br />
Reference Book:<br />
i. R. Elmasri, <strong>and</strong> S. B. Navathe, Fundamentals <strong>of</strong> Database Systems, 4th edition, Benjamin/Cummings,<br />
2003.<br />
37
CSC 3116 Operations Research (3 CU)<br />
Course Description: The course is to introduce students to the broad concepts <strong>of</strong> operations research. Students will<br />
learn how to interpret <strong>and</strong> analyze problems, formulate them as problems <strong>and</strong> use existing techniques to solve them.<br />
The course will improve students’ problem solving skills by subjecting them to real life problems <strong>and</strong> guide them<br />
through formulation <strong>of</strong> their solutions. The choice <strong>of</strong> the cases chosen depends on their applicability in real life<br />
computing environment. By the end <strong>of</strong> the course, the student should be able to; Correctly formalize real life<br />
problems into OR problems, Adequately solve typical OR problems, Make post optimality analysis on OR solutions,<br />
Teaching <strong>and</strong> Learning Pattern Teaching will be in form <strong>of</strong> lectures <strong>and</strong> Tutorials<br />
Indicative Content; Linear programming; Network Analysis; Decision trees <strong>and</strong> Markov processes<br />
Reference Books:<br />
i. M. S. Bazaraa, J. J. Jarvis <strong>and</strong> H. D. Sherali, Linear Programming <strong>and</strong> Network Flows, John Wiley,<br />
2005.<br />
ii. W. L. Winston, Operations Research: Applications <strong>and</strong> Algorithms, Wadsworth Publishing Company,<br />
1997.<br />
CSC 3112: Principles <strong>of</strong> Programming Languages (3 CU)<br />
Course Description: The course introduces students to the low level organization <strong>and</strong> operation <strong>of</strong> programming<br />
languages. It covers semantic <strong>and</strong> syntactic as well as operational issues in programming languages. The building<br />
blocks <strong>of</strong> programming languages are explored. The course gives students fundamental knowledge in the<br />
organization <strong>and</strong> operation <strong>of</strong> programming languages. Students learn to appreciate the possible future evolutions <strong>of</strong><br />
programming languages. It exposes students to causes <strong>of</strong> operational (like performance, security, etc) characteristics<br />
<strong>of</strong> programming languages. By the end <strong>of</strong> the course, students will be able to underst<strong>and</strong> common language<br />
paradigms; know the different building blocks <strong>of</strong> a programming language; know how the different blocks <strong>of</strong> a<br />
programming language interact<br />
Indicative Content:<br />
• Overview over programming language paradigms; Common principles: syntax, syntax trees, formal<br />
semantics (denotation <strong>and</strong> operational), variables <strong>and</strong> binding<br />
• Types: role <strong>of</strong> types in programming <strong>and</strong> programming languages, types <strong>and</strong> their operations: products,<br />
sums, functions, recursive types, reference <strong>and</strong> array types<br />
• Primarily imperative issues: control flow, arrays, pointers <strong>and</strong> references, parameter-passing mechanisms,<br />
scoping<br />
• Type systems: strongly typed languages type checking (static vs. dynamic), type equivalence (by name vs.<br />
structural), overloading, coercion, polymorphism, type inference<br />
• Binding: declarations <strong>and</strong> environments. Block structure: scope <strong>and</strong> visibility, stack discipline. Bound<br />
occurrences: static vs. dynamic binding.<br />
• Encapsulation: information hiding, modules, abstract data types, classes<br />
• Language implementation: parsing, code generation, garbage collection.<br />
Reference Books:<br />
i. D. P. Friedman, M. W<strong>and</strong>, <strong>and</strong> C. T. Haynes, Essentials <strong>of</strong> Programming Languages, MIT Press, 2001.<br />
CSC 3117 Emerging Trends in Computer Science (4 CU)<br />
Course Description: The course is to expose provide students with an opportunity to search for knowledge in an<br />
area <strong>of</strong> interest. It is to allow a student do lightweight research <strong>and</strong> explore the current trends in a certain computer<br />
science area. The course will aid a student get an in depth underst<strong>and</strong>ing <strong>of</strong> the developments in one area <strong>of</strong><br />
computer science, improve the student’s research skills <strong>and</strong> develop confidence in the students on the ability to<br />
search for knowledge with little guidance.<br />
38
Indicative Content:<br />
The content is not specific but will be dependent on the area the student chooses to pursue.<br />
BIS 3100: Modeling <strong>and</strong> Simulation (4 CU)<br />
Course Description: The course gives students theoretical <strong>and</strong> practical skills in modeling <strong>and</strong> simulation <strong>of</strong><br />
dynamic systems with a view <strong>of</strong> learning their behavior <strong>and</strong> the sensitivity <strong>of</strong> that behavior to certain parameters.<br />
The course will familiarize students with modeling <strong>and</strong> simulation techniques that are applicable under varying<br />
circumstances equip students with practical experiences <strong>of</strong> composing models <strong>and</strong> running simulations under<br />
varying circumstances, equip students with skills <strong>of</strong> correctly representing simulation results<br />
Indicative Content: Simulation <strong>of</strong> operational systems, Simulation as a decision making methodology, Model<br />
development <strong>and</strong> validation, Design <strong>of</strong> simulation experiments, Generation <strong>of</strong> appropriate values <strong>of</strong> r<strong>and</strong>om<br />
variables, Interactive procedures <strong>and</strong> interpretation <strong>of</strong> results.<br />
Reference Books:<br />
i. L. Oakshott, Business Modelling <strong>and</strong> Simulation, Trans- Atlantic Publications, 1997.<br />
ii. R. G. Coyle, System dynamics modeling a practical approach, Chapman & Hall/CRC, 1996.<br />
CSC 3105 Computer Graphics (3 CU)<br />
Course Description: The course covers general purpose graphics systems <strong>and</strong> their use. It gives an in-depth<br />
knowledge <strong>of</strong> computer graphics <strong>and</strong> graphical user interfaces. The course introduces students to the concepts <strong>of</strong><br />
graphical representation on computers, teaches students the design <strong>of</strong> good graphical user interfaces.<br />
Indicative Content: Students are exposed to Graphics hardware, Geometrical transformations, Surface <strong>and</strong> volume<br />
visualization, Design <strong>and</strong> implementation <strong>of</strong> graphical user interfaces, Two dimensional imaging processes,<br />
Computer graphics applications, Display system organization; Display devices <strong>and</strong> modes; Display file construction<br />
<strong>and</strong> its structure; Graphic primitive - device initialization, view porting <strong>and</strong> windowing; Line drawing, simple <strong>and</strong><br />
symmetrical Digital Differential Analysis (DDA); Arch <strong>and</strong> circle generating DDA Line; <strong>and</strong> polygon clipping<br />
algorithms; Curve plotting; Transformations- projections <strong>and</strong> perspective views; Picture segmentation: Graphics<br />
st<strong>and</strong>ards - PHIGS <strong>and</strong> GKS.<br />
Reference Books:<br />
i. D. Foley, A. Van Dam, S. K. Feiner, J. F. Hughes <strong>and</strong> R. L. Phillips, Introduction to Computer<br />
Graphics, James, Addison Wesley, 2003.<br />
ii. P. Shirley, Fundamentals <strong>of</strong> Computer Graphics, AK Peters, 2002.<br />
CSC 3114: Selected Topics in Computer Science (3 CU)<br />
Course Description: The course is to give an avenue for visiting or local staff to design content for an area that they<br />
are researching in but not covered in the curriculum. This could be an upcoming field yet to be incorporated in the<br />
curriculum or some outst<strong>and</strong>ing state <strong>of</strong> practice in a certain computer science area.<br />
This course aims at providing an avenue for exposing students to new interesting areas <strong>of</strong> computer science which<br />
are not (yet) incorporated into the curriculum.<br />
CSC 3115 Advanced Programming (3 CU)<br />
Course Description: This course highlights programming practices that are vital in the day today work <strong>of</strong> a<br />
programming pr<strong>of</strong>essional. While many systems are described by functionalities, some important aspects like<br />
security, robustness, <strong>and</strong> maintainability are ignored. Students are to get an in-depth underst<strong>and</strong>ing <strong>of</strong> these concepts<br />
as well as exploring the current trends in the programming environment. This course will concretize the student’s<br />
past programming experience as well as highlighting critical practices in programming that are necessary for a<br />
pr<strong>of</strong>essional programmer. Therefore, after this course, the student should be able to implement non functional but<br />
critical aspects <strong>of</strong> programming like robustness <strong>and</strong> security, develop well documented <strong>and</strong> well structured s<strong>of</strong>tware<br />
39
that can easily be maintained, be knowledgeable in other programming practices like mobile programming, be aware<br />
<strong>of</strong> newer programming paradigms like service oriented <strong>and</strong> cloud computing.<br />
Indicative Content: Programming for Security: Programming for Robustness; Programming for Maintainability;<br />
Trends in Programming Paradigms<br />
Reference Book:<br />
i. W. R. Stevens <strong>and</strong> S. A. Rago, Advanced Programming in the UNIX Environment, Addison Wesley,<br />
1992.<br />
BIT 3102 Entrepreneurship <strong>and</strong> Business (3 CU)<br />
Course Description: This course <strong>of</strong>fers an overview <strong>of</strong> the entrepreneurial process. Students will develop a<br />
business plan using their own business idea. They will learn skills <strong>and</strong> characteristics <strong>of</strong> successful entrepreneurs,<br />
techniques for evaluating business opportunities, planning tools, selling <strong>and</strong> marketing basics, financial analysis,<br />
record keeping, laws <strong>and</strong> regulations <strong>of</strong> Ug<strong>and</strong>a, <strong>and</strong> step by step procedures for starting a small business.<br />
Indicative Content:<br />
• Identification <strong>of</strong> talents <strong>and</strong> skills required to be a successful entrepreneur; Personal talents; Technical<br />
skills; Educational background<br />
• Overview <strong>of</strong> business opportunities: Trade association reports; Government reports; Demographic<br />
information <strong>and</strong> Surveys.<br />
• Business entry strategies: Steps in starting a business; Purpose <strong>of</strong> business; Description <strong>of</strong> business;<br />
Starting a business versus buying a business<br />
• Planning: Setting goals; Operational approach.<br />
• Laws <strong>and</strong> regulations affecting a small business in Ug<strong>and</strong>a: CAP <strong>and</strong> Local bye laws<br />
• Sources <strong>of</strong> information <strong>and</strong> assistance; Trade association <strong>and</strong> other non-governmental sources; Local, state,<br />
<strong>and</strong> federal governmental sources; Small business analysis<br />
• Description <strong>of</strong> a comprehensive business plan; Reason for preparing a business plan; Types <strong>of</strong> business<br />
plans; Form <strong>of</strong> business plan; Contents <strong>of</strong> a successful business plan.<br />
• Outline <strong>of</strong> a business plan: Preparation <strong>of</strong> an executive summary; Establishment <strong>of</strong> company strategy;<br />
Development <strong>of</strong> a marketing plan; Sales strategy; financial plan.<br />
• Completion <strong>of</strong> the business plan; Writing the plan; Outside review <strong>of</strong> the plan.<br />
• Social <strong>and</strong> Ethical Responsibility<br />
Reference Books:<br />
i. B. R. Barringer & R. D. Irel<strong>and</strong>, Entrepreneurship: Successfully Launching New ventures. Published by<br />
Pearson-Prentice Hall. 1st edition, 2006.<br />
ii. T. W. Zimmerer <strong>and</strong> N. M. Scarborough, Essentials <strong>of</strong> Entrepreneurship <strong>and</strong> Small Business Management,<br />
4th edition, 2005.<br />
BIT 3204 Enterprise Network Management (4 CU)<br />
Course Description: The course is to equip students with knowledge <strong>of</strong> managing enterprise computer/data<br />
networks. This caters for enterprise critical aspects like reliability, security <strong>and</strong> user management.<br />
The course aims at equipping students with skills to plan, manage <strong>and</strong> monitor large computer networks.<br />
Indicative Content: The infrastructure for network management, the internet <strong>and</strong> ISO models, SNMP, ASN.1,<br />
Structure <strong>of</strong> management information <strong>and</strong> MIB, Events <strong>and</strong> managed objects. EMS vs. NMS NOC; Remote <strong>and</strong><br />
Web-based management tool; OAM&P Focus, Operation, maintenance, performance monitoring <strong>and</strong> Introduction <strong>of</strong><br />
traffic engineering <strong>and</strong> load balancing.<br />
40
Reference Book:<br />
i. K. Terplan, Effective Management <strong>of</strong> Local Area Networks, McGeaw-Hill, 1992.<br />
CSC 3205 Compiler Design (3 CU)<br />
Course Description: In this course unit, students shall underst<strong>and</strong> the complete process <strong>of</strong> translating a Programme<br />
in a high-level language to machine language. The course gives an introduction to the design <strong>and</strong> implementation <strong>of</strong><br />
a compiler with emphasis on principles <strong>and</strong> techniques for program analysis <strong>and</strong> translation. It also gives an<br />
overview <strong>of</strong> the tools for compiler construction, Lexical analysis, token selection, transition diagrams, <strong>and</strong> finite<br />
automata. The use <strong>of</strong> context-free grammars to describe syntax, derivations <strong>of</strong> parse trees, <strong>and</strong> construction <strong>of</strong><br />
parsers, Syntax directed translation schemes; Intermediate code; Symbol table; Code generation; Detection,<br />
reporting, recovery <strong>and</strong> correction <strong>of</strong> errors.<br />
Indicative Content: Language translators: Introduction to compilers <strong>and</strong> interpreters; The structure <strong>of</strong> a compiler:<br />
lexical analysis, parsing, semantic analysis; Intermediate code generation, register allocation, global optimization;<br />
Lexical scanning; Parsing; Automatic parser construction. FIRST <strong>and</strong> FOLLOW functions; LL(1) parsers; LR<br />
parsers. Conflicts in LR grammars <strong>and</strong> how to resolve them; Semantic analysis: Attributes <strong>and</strong> their computation,<br />
tree-traversals, visibility <strong>and</strong> name resolution; inherited attributes <strong>and</strong> symbol tables. Name resolution in blockstructured<br />
languages; Type checking: Type systems, varieties <strong>of</strong> strong typing, overload resolution, polymorphism<br />
<strong>and</strong> dynamic dispatching. Type checking <strong>and</strong> type inference, unification; Run-time or Run-time organization:<br />
storage allocation, non-local references, parameter passing, dynamic storage allocation. Exception h<strong>and</strong>ling,<br />
debugging information; Intermediate code generation: control structures, expressions, simple register allocation.<br />
Aggregates <strong>and</strong> other high-level constructs; Global optimization<br />
Reference Book:<br />
i. W. M. Waite <strong>and</strong> G. Goos, Compiler Construction, Springer Verlag, 1994.<br />
CSC 3206 Group Project (5 CU)<br />
Course Description: The course is to allow students, in groups, to integrate the knowledge acquired over the<br />
previous five semesters into solving a non trivial problem through a computer application. Emphasis will be put on<br />
the systematic development methodology, the documentation <strong>of</strong> the development process, <strong>and</strong> how well the<br />
developed system addresses the problem to be solved. Non functional attributes like robustness, usability, security<br />
<strong>and</strong> reliability will also be tested. The course will give students experience in Group <strong>and</strong> collaborative work, Proper<br />
procedures in development <strong>of</strong> computer systems, Proper documentation <strong>of</strong> the s<strong>of</strong>tware development process,<br />
Development <strong>of</strong> big not trivial computer projects. The content is to be determined by the students under the<br />
guidance <strong>of</strong> the supervisor.<br />
CSC 3207 Computer Security (3 CU)<br />
Course Description: Computer security is a branch <strong>of</strong> technology concerned with digital security or information<br />
security applied to computers. Since the largest part <strong>of</strong> the computer that users interact with is s<strong>of</strong>tware, computer<br />
security pays big attention to development <strong>of</strong> secure s<strong>of</strong>tware. Students will be conversant with threats faced by<br />
computers in the connected digital world, techniques that are used to protect computers against various threats.<br />
Indicative Content: Digital security principles, Hardware based security mechanisms, Secure operating systems,<br />
Security architecture, Security by design, Secure coding (S<strong>of</strong>tware Security), Access Control Lists <strong>and</strong> Security<br />
Applications.<br />
Reference Books:<br />
i. R. J. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, Willey<br />
2001.<br />
ii. R. C. Seacord, Secure Coding in C <strong>and</strong> C++, Addison Wesley, 2005.<br />
41
BIT 3200 Business Intelligence <strong>and</strong> Data Warehousing (4 CU)<br />
Course Description: This course covers techniques <strong>and</strong> s<strong>of</strong>tware tools that can assist management that deals with<br />
large amounts <strong>of</strong> data in management <strong>and</strong> business decision making. The course covers the fundamental differences<br />
between databases <strong>and</strong> data warehouses, the techniques <strong>of</strong> developing data warehouses as well as manipulating them<br />
to generate business strategic decisions. Students will be able to underst<strong>and</strong> the role <strong>and</strong> operation <strong>of</strong> data<br />
warehouses, be equipped with skills <strong>of</strong> developing, maintaining, <strong>and</strong> manipulating data warehouses to generate<br />
information for business decision making.<br />
Indicative Content: Data warehouse concepts: partitioning, granularity, record <strong>of</strong> source, <strong>and</strong> metadata; Building<br />
viable decision support environments; Architect development, Data migration <strong>and</strong> integration, Use <strong>of</strong> operational<br />
data stores, <strong>and</strong> transactional systems.<br />
Reference Book:<br />
i. P. Ponniah, Data Warehousing Fundamentals, Wiley, 2001.<br />
BSE 3202: Distributed Systems Development (4 CU)<br />
Course Description: This course gives students theoretical <strong>and</strong> practical skills on development <strong>of</strong> distributed<br />
systems <strong>and</strong> applications. This includes distributed system-specific challenges like reliability <strong>and</strong> robustness.<br />
Students will be equipped with skills <strong>of</strong> developing distributed systems.<br />
Indicative Content; Event-driven s<strong>of</strong>tware architectures, Distributed object computing, Development,<br />
documentation <strong>and</strong> testing <strong>of</strong> distributed applications, Techniques for reusable, extensible <strong>and</strong> efficient s<strong>of</strong>tware<br />
systems, Maintainability <strong>and</strong> concurrence in distributed systems, Abstraction based on patterns <strong>and</strong> object-oriented<br />
techniques<br />
Reference Books:<br />
i. S. Tanenbaum <strong>and</strong> M. V. Steen, Distributed Systems: Principles <strong>and</strong> Paradigms, 2nd edition, Prentice<br />
Hall, 2006.<br />
ii. R. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, John Wiley &<br />
Sons, 2001.<br />
6.3 Computer Science Subject for BSc Programme<br />
6.3.1 Overview<br />
The BSC Programme is housed in the Faculty <strong>of</strong> Science. It is a broad Programme that explores a wide range <strong>of</strong><br />
knowledge in Natural Sciences <strong>and</strong> other related disciplines. The Programme is subject based. Some <strong>of</strong> the subjects<br />
like Botany, Mathematics, Physics, Zoology, <strong>and</strong> Biochemistry are housed in the Faculty its self. However, some<br />
subjects like Computer Science, Geography, Statistics <strong>and</strong> Economics are housed in other faculties. The Faculty <strong>of</strong><br />
<strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology houses the Computer Science subject. The department <strong>of</strong> Computer Science<br />
is responsible over the day today running <strong>of</strong> the subject. All administrative <strong>and</strong> academic decisions on the subject<br />
are done in consultation with the Faculty <strong>of</strong> Science.<br />
6.3.2 The Computer Science Subject<br />
It has been an aspiration <strong>of</strong> Makerere University to be a mover in the information age. This is done by training<br />
highly skilled computer pr<strong>of</strong>essionals. As a starting point, Computer Science as a subject was started in the Faculty<br />
<strong>of</strong> Science in the early 1990’s. Its teaching was later transferred to the Institute <strong>of</strong> Computer Science (now Faculty<br />
<strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology). The subject is <strong>of</strong>fered by students on the Bachelor <strong>of</strong> Science<br />
Programme <strong>and</strong> is done with other subjects in the Faculty <strong>of</strong> Science. This includes teaching as well as devising<br />
ways the contents can be enriched further to match the current ICT trends. Students have an option <strong>of</strong> taking<br />
Computer Science as a Major or a Minor as a subject.<br />
42
1. Subject Combinations<br />
Computer science subject forms part <strong>of</strong> the Bachelor <strong>of</strong> Science Programme. It has to be done with two other<br />
subjects at enrollment. Due to the nature <strong>of</strong> Computer Science, it shares a lot with Mathematics. Therefore a<br />
c<strong>and</strong>idate have to demonstrate a strong mathematics background (for example good grades from A-Level) to be<br />
<strong>of</strong>fered the subject.<br />
2. Admission Requirements<br />
A student has to satisfy the general university admission requirements as well as those specific ones on the BSC<br />
Programme. Particularly for Computer Science, a student must have a principle pass in Mathematics at A’ level<br />
3. Graduation Load<br />
Computer Science forms a portion <strong>of</strong> the overall load on the BSC Programme. The minimum graduation load for<br />
BSC is 108 Credit units. Consultation with Faculty <strong>of</strong> Science showed that a majoring student needs between 66 <strong>and</strong><br />
72 credit units while a minor student needs between 30 <strong>and</strong> 36 CU for graduation.<br />
6.3.4 Programme Structure<br />
A.) Computer Science Major<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CU LH PH TH CH<br />
Semester 1<br />
CSC 1100 Computer Literacy 4 30 60 -- 60<br />
CSC 1106 Programming Methodology I 3 30 30 -- 45<br />
Semester 2<br />
CSC 1207 Programming Methodology II 4 30 60 -- 45<br />
CSC 1209 Logic Programming 3 30 30 -- 45<br />
Semester 3<br />
CSC 2100 Algorithms <strong>and</strong> Data Structures 4 45 -- 30 60<br />
CSC 2111 Database Management Systems I 3 30 30 -- 45<br />
CSC 2113 S<strong>of</strong>tware Engineering 4 45 -- 30 60<br />
Semester 4 (Core)<br />
CSC 2200 Operating Systems 4 45 -- 30 60<br />
Semester 4 (2 electives)<br />
CSC 2209 Systems Programming 4 45 -- 30 60<br />
CSC 2210 Automata, Complexity & Computability 3 45 -- -- 45<br />
CSC 2214 Cryptology <strong>and</strong> Coding Theory 3 45 -- -- 45<br />
Semester 5 (Core)<br />
CSC 3103 User Interface Design 4 45 -- 30 60<br />
Semester 5 (2 electives)<br />
CSC 3112 Principles <strong>of</strong> Programming Languages 3 45 -- -- 45<br />
BIS 3100 Modeling <strong>and</strong> Simulation 4 45 -- 30 60<br />
CSC 3105 Computer Graphics 3 30 -- 30 45<br />
CSC 3115 Advanced Programming 3 30 -- 30 45<br />
Semester 6 (Core)<br />
CSC 3206 Group Project 5 -- 135 -- 60<br />
Semester 6 (2 electives)<br />
CSC 3205 Compiler Design 3 45 -- -- 45<br />
CSC 3207 Computer Security 3 45 -- -- 45<br />
BIT 3200 Business Intelligence & Data Warehousing 4 45 30 -- 60<br />
43
BSE 3202 Distributed Systems Development 4 45 30 -- 60<br />
B.) Computer Science Minor<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CU LH PH TH CH<br />
Semester 1<br />
CSC 1100 Computer Literacy 4 30 60 -- 60<br />
CSC 1106 Programming Methodology I 3 30 30 -- 45<br />
Semester 2<br />
CSC 1207 Programming Methodology II 4 30 60 -- 45<br />
CSC 1209 Logic Programming 3 30 30 -- 45<br />
Semester 3<br />
CSC 2111 Database Management Systems I 3 30 30 -- 45<br />
CSC 2113 S<strong>of</strong>tware Engineering 4 45 -- 30 60<br />
Semester 4 (Core)<br />
CSC 2200 Operating Systems 4 45 -- 30 60<br />
Semester 4 (1 elective)<br />
CSC 2210 Automata, Complexity & Computability 3 45 -- -- 45<br />
CSC 2214 Cryptology <strong>and</strong> Coding Theory 3 45 -- -- 45<br />
Semester 5 (Core)<br />
CSC 3103 User Interface Design 4 45 -- 30 60<br />
Semester 5 (1 elective)<br />
CSC 3112 Principles <strong>of</strong> Programming Languages 3 45 -- -- 45<br />
CSC 3105 Computer Graphics 3 30 -- 30 45<br />
Semester 6<br />
CSC 3205 Compiler Design 3 45 -- -- 45<br />
CSC 3207 Computer Security 3 45 -- -- 45<br />
BIT 3200 Business Intelligence & Data Warehousing 4 45 30 -- 60<br />
BSE 3202 Distributed Systems Development 4 45 30 -- 60<br />
6.3.4 Course Unit Description<br />
CSC 1100: Computer Literacy (4 CU)<br />
Course Description: In this course, students are to learn about the basic organization, concepts <strong>and</strong> terminologies in<br />
a computerized environment. They are also to get an in depth underst<strong>and</strong>ing <strong>of</strong> common computer applications. The<br />
use <strong>of</strong> related applications in different operating systems will be explored. The aims <strong>of</strong> the course unit are to: Equip<br />
students with basic knowledge about computer organization; <strong>of</strong>fice applications; expose students to different<br />
operating systems <strong>and</strong> equip students with skills <strong>of</strong> how to use the Internet. By the end <strong>of</strong> the course unit, the student<br />
should be able to: Describe the different parts <strong>of</strong> a computer; the historical evolution <strong>of</strong> computers; competently use<br />
the common <strong>of</strong>fice applications in at least two operating systems;<br />
Indicative Content: General computer organisation; Historical perspectives <strong>of</strong> computing; common Micros<strong>of</strong>t<br />
<strong>of</strong>fice packages; <strong>of</strong>fice packages in other operating systems; text editors; Common Linux <strong>and</strong> Using the web.<br />
44
Reference Books:<br />
i. J. Preston, R. Ferret <strong>and</strong> S. Gaskin, Computer Literacy, 2007.<br />
ii. J. Janrich <strong>and</strong> D. Oja, Practical Computer Literacy, 2001.<br />
CSC 1106: Programming Methodology I (3 CU)<br />
Course Description: The course is to create a strong base in the principles <strong>and</strong> practice <strong>of</strong> functional programming.<br />
A high level programming language like C is to be used. Students are to cover both theoretical principles <strong>and</strong> h<strong>and</strong>s<br />
on practical skills. The main concepts to cover include program structure, data structures, syntactical <strong>and</strong> semantic<br />
correctness, planning <strong>and</strong> segmentation in programming as well as working with files. The aims <strong>of</strong> the course are to<br />
provide the student with: Comprehensive knowledge about structured oriented programming; Knowledge in<br />
planning <strong>and</strong> organization <strong>of</strong> programming projects; Knowledge <strong>and</strong> techniques <strong>of</strong> evaluating syntactic <strong>and</strong> semantic<br />
correctness <strong>of</strong> a computer program <strong>and</strong> strong practical basis in programming.<br />
Indicative Content: Programme structure; Variables <strong>and</strong> Operators; Conditional statements; Looping statements;<br />
Arrays <strong>and</strong> strings; Functions; Advanced data types; Pointers; Dynamic memory allocation <strong>and</strong> dynamic structures;<br />
Working with files <strong>and</strong> GUI.<br />
Reference Books:<br />
i. B. W. Kernighan, D. M. Ritchie, C Programming Language, 2nd edition, 1989.<br />
ii. S. P. Harbison, C: A Reference Manual, 5th edition, 2004.<br />
CSC 1207 Programming Methodology II (3 CU)<br />
Course Description: The course is to give an in depth underst<strong>and</strong>ing <strong>of</strong> Object Oriented programming. It is to cater<br />
for Object Oriented Programming practices like inheritance, interfaces, exception h<strong>and</strong>ling, action h<strong>and</strong>ling,<br />
security, s<strong>of</strong>tware reuse <strong>and</strong> robustness. The aim <strong>of</strong> the course is to: Move the students’ programming skills from<br />
basic to advanced; Avail students with skills to h<strong>and</strong>le non functional Programme aspects like robustness <strong>and</strong><br />
security <strong>and</strong> train students to develop complete computer applications.<br />
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
Reference Books:<br />
i. J. Lewis <strong>and</strong> W. L<strong>of</strong>tus, Java S<strong>of</strong>tware Solution: Foundations <strong>of</strong> Programme Design, 4th edition, 2008.<br />
ii. K. A. Mughal <strong>and</strong> R. W. Rasmussen, A Programmer’s Guide to JavaTM Certification: A comprehensive<br />
Primer, 3rd edition, 2008<br />
CSC 1209 Logic Programming (3 CU)<br />
Course Description: This course introduces a paradigm where computation arises from pro<strong>of</strong> search in logic<br />
according to a fixed, predictable strategy. It thereby unifies logical specification <strong>and</strong> implementation in a way that is<br />
quite different from functional or imperative programming. This course provides a thorough, modern introduction to<br />
logic programming. It introduces the basic concepts <strong>and</strong> techniques <strong>of</strong> logic programming followed by successive<br />
refinement towards more efficient implementations or extensions to richer logical concepts. It covers a variety <strong>of</strong><br />
logics <strong>and</strong> operational interpretations. The aim <strong>of</strong> the course is to provide a basic introduction to the logic<br />
Programming language <strong>and</strong> Prolog. It aims at introducing a number <strong>of</strong> logical systems <strong>of</strong> importance in computer<br />
science.<br />
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
45
Reference Books:<br />
i. M. R. Huth <strong>and</strong> M. D. Ryan, Logic in Computer Science, Modeling <strong>and</strong> Reasoning about Systems,<br />
Cambridge University Press, 2000.<br />
ii. SWI Prolog Home Page, http://www.swi-prolog.org/<br />
CSC 2100: Data Structures <strong>and</strong> Algorithms (4 CU)<br />
Course Description: The course gives students a firm foundation <strong>of</strong> data structures <strong>and</strong> algorithms. The course<br />
trains students on systematic development <strong>and</strong> analysis <strong>of</strong> algorithms. The importance <strong>of</strong> algorithm complexity on<br />
computer performance is emphasized. Typical computational problems <strong>and</strong> their solutions/analysis are to be<br />
covered. The aims <strong>of</strong> the course are to; Make students appreciate the role <strong>of</strong> data structures <strong>and</strong> algorithms in<br />
computer Programmes; Improve students’ problem solving skills by subjecting them to step by step analysis <strong>and</strong><br />
design <strong>of</strong> computer algorithms; Introduce students to concepts Data structures; Introduce students to concepts <strong>of</strong><br />
algorithm analysis <strong>and</strong> to expose students generic algorithmic problems <strong>and</strong> apply them to other computational<br />
scenarios.<br />
Indicative Content: Complexity analysis (Big-O notation, orders <strong>of</strong> growth, worst case, average case <strong>and</strong> amortized<br />
analysis); NP-complete problems; Greedy algorithms; Dynamic programming; Design patterns for data structures;<br />
Graphical representation <strong>of</strong> optimization problems; Parallel algorithms; Sorting <strong>and</strong> searching; Divide-<strong>and</strong>-conquer<br />
algorithms; Elementary data structures; Recursive data structures (stacks, queues, linked lists, trees); Storing <strong>and</strong><br />
searching (hash tables, search trees); Graph algorithms on graphs (shortest path, spanning trees).<br />
Reference Books:<br />
i. A. V. Aho, J. D. Ullman, J. E. Hopcr<strong>of</strong>t, Data Structures <strong>and</strong> Algorithms, Addison-Wesley, 1983.<br />
ii. A. V. Aho,The Design <strong>and</strong> Analysis <strong>of</strong> Computer Algorithms, Addison-Wesley Longman, 1974.<br />
iii. T. H. Cormen, C. E. Leiserson, R. L. Rivest, <strong>and</strong> C. Stein, Introduction to Algorithms 2nd edition,<br />
McGraw Hill, 2008.<br />
CSC 2111: Database Management Systems I (3 CU)<br />
Course Description: This course is to provide students with a strong foundation in systematic approaches to design<br />
<strong>and</strong> implementing <strong>of</strong> database applications. Preliminarily, operations like requirements gathering <strong>and</strong> database<br />
planning will be covered. The course will also introduce students to developing <strong>of</strong> application programs that talk to<br />
the database. These applications may be online or <strong>of</strong>fline. The aims <strong>of</strong> the course are to: Provide a background for<br />
the evolution <strong>of</strong> database (management) systems; Provide the students with the steps one has to go through when<br />
developing good database applications; Give h<strong>and</strong> on experience <strong>and</strong> knowledge in developing database (driven)<br />
applications<br />
Indicative Content: Background to databases; Evolution <strong>of</strong> database systems; Database organization <strong>and</strong><br />
architecture; Data base models; Over view <strong>of</strong> database application development; The database development life<br />
cycle; Database design; Conceptual design; Logical design; Physical Design; Querying databases; SQL/PL SQL<br />
<strong>and</strong> Scripting.<br />
Reference Books:<br />
i. T. Connolly <strong>and</strong> C. Begg: Database Solutions, 2nd edition, 2003.<br />
CSC 2108: S<strong>of</strong>tware Engineering (4 CU)<br />
Course Description: This course introduces students to the foundations <strong>of</strong> s<strong>of</strong>tware engineering as a discipline.<br />
Students are introduced to the evolving role <strong>of</strong> s<strong>of</strong>tware engineering, especially with emphasis on s<strong>of</strong>tware<br />
engineering process <strong>and</strong> process models. Key topics covered include S<strong>of</strong>tware configuration management,<br />
Requirement analysis, S<strong>of</strong>tware Specification, Design methods, S<strong>of</strong>tware testing, S<strong>of</strong>tware project management<br />
techniques; S<strong>of</strong>tware project planning, Risk management; S<strong>of</strong>tware Quality Assurance; S<strong>of</strong>tware reuse; <strong>and</strong><br />
Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />
46
Indicative Content;<br />
• Evolving role <strong>of</strong> s<strong>of</strong>tware, s<strong>of</strong>tware characteristics; Systems <strong>and</strong> environment; system engineering<br />
hierarchy, information <strong>and</strong> knowledge engineering; Information strategy; Business Area analysis, modeling<br />
enterprise <strong>and</strong> business-level data modeling, system architecture <strong>and</strong> associated information flow; writing<br />
system specification.<br />
• S<strong>of</strong>tware Engineering as a layered technology: S<strong>of</strong>tware process, s<strong>of</strong>tware process models. S<strong>of</strong>tware<br />
configuration management: the SCM process, Identification <strong>of</strong> objects in s<strong>of</strong>tware configuration, version<br />
control, change control, configuration audit, SCM st<strong>and</strong>ards.<br />
• Requirement analysis: Communication techniques, Information gathering tools; organizing <strong>and</strong> structuring<br />
information; analysis principles; Analysis modeling.<br />
• S<strong>of</strong>tware Specification: Design process, principles <strong>and</strong> concepts: Abstraction, refinement, modularity,<br />
control hierarchy, structural partitioning, information hiding, functional independence, cohesion, coupling,<br />
design heuristics;<br />
• Design methods: data design, architectural design, transform mapping, design optimization, human<br />
computer interface design, procedural design <strong>and</strong> tools; Design documentation.<br />
• S<strong>of</strong>tware testing: Testing objectives, Testing principles, Testability, test case designing, white box testing;<br />
Basis path testing: Condition testing, data flow testing, loop testing; Black box testing: graph based testing<br />
methods, equivalence partitioning, Boundary value analysis, comparison testing; Testing documentation<br />
<strong>and</strong> help facilities; S<strong>of</strong>tware testing strategy: unit testing, integration testing, validation testing, system<br />
testing.<br />
• S<strong>of</strong>tware project management techniques: project metrics, s<strong>of</strong>tware measurement <strong>and</strong> metrics, s<strong>of</strong>tware<br />
quality metrics;<br />
• S<strong>of</strong>tware project planning: objectives <strong>of</strong> planning, resources, project estimation <strong>and</strong> estimation models,<br />
project decomposition techniques, make-buy decisions; automated estimation tools.<br />
• Risk management: s<strong>of</strong>tware risks, risk identification, risk projection, risk mitigation, monitoring <strong>and</strong><br />
management; Project Scheduling: people <strong>and</strong> effort relationships, defining tasks, defining task network,<br />
scheduling techniques; S<strong>of</strong>tware teams <strong>and</strong> intra-team relationships; role <strong>of</strong> project manager.<br />
• S<strong>of</strong>tware Quality Assurance: Concept <strong>of</strong> quality, quality control vs. quality assurance, cost <strong>of</strong> quality,<br />
factors that affect quality, quantitative view <strong>of</strong> quality, quality metrics, defect removal efficiency SQA<br />
activities, ISO st<strong>and</strong>ards <strong>and</strong> CMM practices, SEI levels, S<strong>of</strong>tware reviews, Formal approaches to SQA,<br />
Statistical Quality Assurance. S<strong>of</strong>tware reliability, reliability metrics, reliability models, meeting reliability<br />
requirements.<br />
• Effective metrics for s<strong>of</strong>tware process: Measurement principles, attributes <strong>of</strong> s<strong>of</strong>tware metrics, metrics for<br />
analysis model, metrics for design model, metrics for source code, metrics for maintenance.<br />
• S<strong>of</strong>tware reuse: difficulties in reuse, hardware reuse vs. s<strong>of</strong>tware reuse, reusable artifacts, domain<br />
engineering approach, analysis design <strong>and</strong> construction <strong>of</strong> reusable components, classification <strong>and</strong> retrieval<br />
<strong>of</strong> components, economic impact <strong>of</strong> reuse <strong>and</strong> reuse metrics.<br />
• Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />
Reference Books:<br />
i. J. F. Peters, W. Pedrycz, S<strong>of</strong>tware Engineering: An Engineering Approach, John Wiley, 2000.<br />
ii. R. S. Pressman, S<strong>of</strong>tware Engineering: A Practitioners Approach, 5th edition, McGraw Hill, 2005.<br />
iii. I. Sommerville, S<strong>of</strong>tware Engineering, 8th edition, Addison Wesley, 2008.<br />
iv. D. Ghezzi, M. Jazayeri, D. M<strong>and</strong>rioli, Fundamentals <strong>of</strong> S<strong>of</strong>tware Engineering, Prentice Hall <strong>of</strong> India,<br />
2004.<br />
47
CSC 2200: Operating Systems (4 CU)<br />
Course Description: Operating Systems course introduces students to s<strong>of</strong>tware that controls hardware <strong>and</strong> makes<br />
the hardware usable. Its interaction with other computer devises <strong>and</strong> how it controls other computer processes is<br />
explored. The Course aims at providing students with a detailed underst<strong>and</strong>ing <strong>of</strong> how operating systems work;<br />
skills to write basic Programmes to utilize underlying operating system infrastructures. At the end <strong>of</strong> the course,<br />
students are able to know the dominant categories <strong>of</strong> operating systems are Windows <strong>and</strong> UNIX (Linux, Mac OS,<br />
Solaris, etc). Students <strong>of</strong> operating systems are expected to have a proper underst<strong>and</strong>ing <strong>of</strong> the differences between<br />
these two. Students should be able to underst<strong>and</strong> different design principles for operating systems <strong>and</strong> various<br />
s<strong>of</strong>tware tools that make operating systems usable.<br />
Indicative Content; Operating Systems Structures; Processes <strong>and</strong> threads; Thread creation, manipulation <strong>and</strong><br />
synchronization; Deadlock; Implementing Synchronization operations; CPU scheduling; Memory management;<br />
File systems <strong>and</strong> file system implementation; Monitors; Segments; Disk Scheduling; Networking; UDP <strong>and</strong> TCP.<br />
Reference Book:<br />
i. W. Stallings, Operating Systems: Internals <strong>and</strong> Design Principles 5th edition, Prentice Hall, 2005.<br />
CSC 2209: Systems Programming (4 CU)<br />
Course Description: Systems programming is aimed at teaching students how to write Programmes using system<br />
level services. The system <strong>of</strong> instruction is UNIX due to availability <strong>of</strong> free system tools that have been largely<br />
developed by <strong>and</strong> for the academia. The course is aimed at giving students skills in tools provided by systems, their<br />
comm<strong>and</strong>s, system calls <strong>and</strong> underst<strong>and</strong>ing for model <strong>of</strong> computation.<br />
Indicative Content; Introduction <strong>and</strong> Unix St<strong>and</strong>ardization; File input <strong>and</strong> output; St<strong>and</strong>ard I/O Library; Files <strong>and</strong><br />
Directories; System Data Files <strong>and</strong> Information; Process Environment; Process Control; Process Relationships;<br />
Signals; Threads; Advanced I/O <strong>and</strong> Inter process Communication<br />
Reference Book:<br />
i. W. R. Stevens, Advanced programming in the Unix Environment, Addison-Wesley, 2008.<br />
CSC 2210 Automata, Complexity <strong>and</strong> Computability (3 CU)<br />
Course Description: The course introduces students to the concept <strong>of</strong> automata <strong>and</strong> complexity. It sets a<br />
background for more advanced studies like compiler construction <strong>and</strong> principles <strong>of</strong> programming languages. The<br />
aims <strong>of</strong> the course are: To introduce students to the concepts <strong>of</strong> complexity, automata <strong>and</strong> computability; To prepare<br />
students for advanced studies in compiler construction <strong>and</strong> principle <strong>of</strong> programming languages;<br />
Indicative content: Finite state machines <strong>and</strong> regular languages: Deterministic <strong>and</strong> non deterministic machines;<br />
Equivalence <strong>and</strong> minimization; Regular expressions <strong>and</strong> regular grammars; Kleene’s theorem. Push-down automata<br />
<strong>and</strong> context free grammars; Normal forms <strong>of</strong> grammars; Top-down <strong>and</strong> bottom-up parsing; Turing machines <strong>and</strong><br />
computability; Church’s thesis; NP-Computable problems.<br />
Reading Books:<br />
i. J. E. Hopcr<strong>of</strong>t, R. Motwani, J. D. Ullman, Introduction to Automata Theory, Languages, <strong>and</strong><br />
Computation; Addison Wesley, 2000.<br />
ii. D. I. A. Cohen, Introduction to Computer Theory; John Wiley <strong>and</strong> Sons, Inc, 1996.<br />
CSC 2214 Cryptology <strong>and</strong> Coding Theory (3 CU)<br />
Course Description: This course provides a foundation for further studies in information security. The course<br />
introduces students to the exciting fields <strong>of</strong> cryptology <strong>and</strong> coding theory. Fundamentally, it deals with the<br />
mathematics that underlies modern cryptology. Cryptology combines the studies <strong>of</strong> cryptography, the creating <strong>of</strong><br />
masked messages, <strong>and</strong> cryptanalysis, the unraveling <strong>of</strong> masked messages. Coding theory is the study <strong>of</strong> coding<br />
schemes used to detect <strong>and</strong> correct errors that occur during the data transmission. The aims <strong>of</strong> this course are; To<br />
underst<strong>and</strong> the building blocks <strong>of</strong> crypto systems <strong>and</strong> error correction; To gain historical underst<strong>and</strong>ing <strong>of</strong> the<br />
48
evolution <strong>of</strong> crypto systems; To develop tools necessary to crypto analyze crypto systems; To gain insights in the<br />
practical application <strong>of</strong> cryptology <strong>and</strong> error correction in the modern information age; To underst<strong>and</strong> the goals <strong>and</strong><br />
trade-<strong>of</strong>fs associated with encryption <strong>and</strong> error-control coding systems.<br />
Indicative Content; History <strong>of</strong> cryptology <strong>and</strong> coding theory; Shift registers Classical crypto-systems; Stream<br />
ciphers; Block ciphers; Information theory; Crypto analysis techniques; Introduction to Elliptic curve cryptography;<br />
Basic Algebra; Coding theory fundamentals; Linear codes; Hamming codes; Secret sharing schemes; Introduction<br />
to Complexity; Hash functions; PGP & PKI Deffie-hellman key exchange protocol.<br />
Reference Books:<br />
i. A. Menezes, P. van Oorschot, <strong>and</strong> S. Vanstone, <strong>H<strong>and</strong>book</strong> <strong>of</strong> Applied Cryptography, CRC Press, 1996.<br />
ii. W. Trappe <strong>and</strong> C. Washington, Introduction to Cryptography with Coding Theory, 2nd edition, Prentice<br />
Hall, 2006.<br />
iii. S. Singh, The Code Book, Doubleday, 1999.<br />
iv. S. S. Adams, Introduction to Algebraic Coding Theory with Gap, 2005.<br />
CSC 3103: User Interface Design (4 CU)<br />
Course Description The course introduces the principles <strong>of</strong> user interface development, focusing on design,<br />
implementation <strong>and</strong> evaluation. The course aims at providing different skills to students, such as: Developing<br />
efficient, flexible <strong>and</strong> interactive User Interfaces (UI); Provide ability to identifying system users, the tasks they<br />
want to carry out <strong>and</strong> the environment in which they will be working; Creating a conceptual designs; Designing<br />
various kinds <strong>of</strong> UI, in particular graphical user interfaces (GUIs) <strong>and</strong> websites; evaluating UIs; Appreciation <strong>of</strong><br />
realities <strong>of</strong> developing usable UIs in an organization.<br />
Indicative Content: Usability; User-Centered Design; UI S<strong>of</strong>tware Architecture; Human Capabilities; Output<br />
Models; Conceptual Models <strong>and</strong> Metaphors; Input Models; Design Principles; Paper Prototyping; Constraints <strong>and</strong><br />
Layouts; Graphic Design; Computer Prototyping; Heuristic Evaluation; User Testing; Experiment Design <strong>and</strong><br />
Experiment Analysis.<br />
Reference Books:<br />
i. D. A. Norman, The Design <strong>of</strong> Everyday Things. New York, NY: Doubleday, 1990.<br />
ii. J. Nielsen, Usability Engineering. Burlington, MA: Academic Press, 1994.<br />
iii. K. Mullet <strong>and</strong> D. Sano, Designing Visual Interfaces: Communication oriented techniques. Prentice Hall,<br />
1994.<br />
CSC 3112: Principles <strong>of</strong> Programming Languages (3 CU)<br />
Course Description: The course introduces students to the low level organization <strong>and</strong> operation <strong>of</strong> programming<br />
languages. It covers semantic <strong>and</strong> syntactic as well as operational issues in programming languages. The building<br />
blocks <strong>of</strong> programming languages are explored. The course gives students fundamental knowledge in the<br />
organization <strong>and</strong> operation <strong>of</strong> programming languages. Students learn to appreciate the possible future evolutions <strong>of</strong><br />
programming languages. It exposes students to causes <strong>of</strong> operational (like performance, security, etc) characteristics<br />
<strong>of</strong> programming languages. By the end <strong>of</strong> the course, students will be able to underst<strong>and</strong> common language<br />
paradigms; know the different building blocks <strong>of</strong> a programming language; know how the different blocks <strong>of</strong> a<br />
programming language interact<br />
Indicative Content:<br />
• Overview over programming language paradigms; Common principles: syntax, syntax trees, formal<br />
semantics (denotation <strong>and</strong> operational), variables <strong>and</strong> binding<br />
• Types: role <strong>of</strong> types in programming <strong>and</strong> programming languages, types <strong>and</strong> their operations: products,<br />
sums, functions, recursive types, reference <strong>and</strong> array types<br />
• Primarily imperative issues: control flow, arrays, pointers <strong>and</strong> references, parameter-passing mechanisms,<br />
49
scoping<br />
• Type systems: strongly typed languages type checking (static vs. dynamic), type equivalence (by name vs.<br />
structural), overloading, coercion, polymorphism, type inference<br />
• Binding: declarations <strong>and</strong> environments. Block structure: scope <strong>and</strong> visibility, stack discipline. Bound<br />
occurrences: static vs. dynamic binding.<br />
• Encapsulation: information hiding, modules, abstract data types, classes<br />
• Language implementation: parsing, code generation, garbage collection.<br />
Reference Books:<br />
i. D. P. Friedman, M. W<strong>and</strong>, <strong>and</strong> C. T. Haynes, Essentials <strong>of</strong> Programming Languages, MIT Press, 2001<br />
BIS 3100: Modeling <strong>and</strong> Simulation (4 CU)<br />
Course Description: The course gives students theoretical <strong>and</strong> practical skills in modeling <strong>and</strong> simulation <strong>of</strong><br />
dynamic systems with a view <strong>of</strong> learning their behavior <strong>and</strong> the sensitivity <strong>of</strong> that behavior to certain parameters.<br />
The course will familiarize students with modeling <strong>and</strong> simulation techniques that are applicable under varying<br />
circumstances equip students with practical experiences <strong>of</strong> composing models <strong>and</strong> running simulations under<br />
varying circumstances, equip students with skills <strong>of</strong> correctly representing simulation results<br />
Indicative Content: Simulation <strong>of</strong> operational systems, Simulation as a decision making methodology, Model<br />
development <strong>and</strong> validation, Design <strong>of</strong> simulation experiments, Generation <strong>of</strong> appropriate values <strong>of</strong> r<strong>and</strong>om<br />
variables, Interactive procedures <strong>and</strong> interpretation <strong>of</strong> results.<br />
Reference Books:<br />
i. L. Oakshott, Business Modelling <strong>and</strong> Simulation, Trans- Atlantic Publications, 1997.<br />
ii. R. G. Coyle, System Dynamics Modeling a Practical Approach, Chapman & Hall/CRC, 1996.<br />
CSC 3105 Computer Graphics (3 CU)<br />
Course Description: The course covers general purpose graphics systems <strong>and</strong> their use. It gives an in-depth<br />
knowledge <strong>of</strong> computer graphics <strong>and</strong> graphical user interfaces.<br />
The course introduces students to the concepts <strong>of</strong> graphical representation on computers, teaches students the design<br />
<strong>of</strong> good graphical user interfaces.<br />
Indicative Content: Students are exposed to Graphics hardware, Geometrical transformations, Surface <strong>and</strong> volume<br />
visualization, Design <strong>and</strong> implementation <strong>of</strong> graphical user interfaces, Two dimensional imaging processes,<br />
Computer graphics applications, Display system organization; Display devices <strong>and</strong> modes; Display file construction<br />
<strong>and</strong> its structure; Graphic primitive - device initialization, view porting <strong>and</strong> windowing; Line drawing, simple <strong>and</strong><br />
symmetrical Digital Differential Analysis (DDA); Arch <strong>and</strong> circle generating DDA Line; <strong>and</strong> polygon clipping<br />
algorithms; Curve plotting; Transformations- projections <strong>and</strong> perspective views; Picture segmentation: Graphics<br />
st<strong>and</strong>ards - PHIGS <strong>and</strong> GKS.<br />
Reference Books:<br />
i. J. D. Foley, A. Van Dam, S. K. Feiner, J. F. Hughes <strong>and</strong> R. L. Phillips, Introduction to Computer<br />
Graphics, Addison Wesley, 2003.<br />
ii. P. Shirley, Fundamentals <strong>of</strong> Computer Graphics, AK Peters, 2002.<br />
CSC 3115 Advanced Programming (3 CU)<br />
Course Description: This course highlights programming practices that are vital in the day today work <strong>of</strong> a<br />
programming pr<strong>of</strong>essional. While many systems are described by functionalities, some important aspects like<br />
security, robustness, <strong>and</strong> maintainability are ignored. Students are to get an in-depth underst<strong>and</strong>ing <strong>of</strong> these concepts<br />
as well as exploring the current trends in the programming environment. This course will concretize the student’s<br />
past programming experience as well as highlighting critical practices in programming that are necessary for a<br />
50
pr<strong>of</strong>essional programmer. Therefore, after this course, the student should be able to implement non functional but<br />
critical aspects <strong>of</strong> programming like robustness <strong>and</strong> security, develop well documented <strong>and</strong> well structured s<strong>of</strong>tware<br />
that can easily be maintained, be knowledgeable in other programming practices like mobile programming, be aware<br />
<strong>of</strong> newer programming paradigms like service oriented <strong>and</strong> cloud computing.<br />
Indicative Content: Programming for Security: Programming for Robustness; Programming for Maintainability;<br />
Trends in Programming Paradigms<br />
Reference Books:<br />
i. W. R. Stevens <strong>and</strong> S. A. Rago, Advanced Programming in the UNIX Environment, Addison Wesley 1992.<br />
CSC 3205 Compiler Design (3 CU)<br />
Course Description: In this course unit, students shall underst<strong>and</strong> the complete process <strong>of</strong> translating a Programme<br />
in a high-level language to machine language. The course gives an introduction to the design <strong>and</strong> implementation <strong>of</strong><br />
a compiler with emphasis on principles <strong>and</strong> techniques for Programme analysis <strong>and</strong> translation. It also gives an<br />
overview <strong>of</strong> the tools for compiler construction, Lexical analysis, token selection, transition diagrams, <strong>and</strong> finite<br />
automata. The use <strong>of</strong> context-free grammars to describe syntax, derivations <strong>of</strong> parse trees, <strong>and</strong> construction <strong>of</strong><br />
parsers, Syntax directed translation schemes; Intermediate code; Symbol table; Code generation; Detection,<br />
reporting, recovery <strong>and</strong> correction <strong>of</strong> errors.<br />
Indicative Content: Language translators: Introduction to compilers <strong>and</strong> interpreters; The structure <strong>of</strong> a compiler:<br />
lexical analysis, parsing, semantic analysis; Intermediate code generation, register allocation, global optimization;<br />
Lexical scanning; Parsing; Automatic parser construction; FIRST <strong>and</strong> FOLLOW functions; LL (1) parsers; LR<br />
parsers. Conflicts in LR grammars <strong>and</strong> how to resolve them; Semantic analysis: Attributes <strong>and</strong> their computation,<br />
tree-traversals, visibility <strong>and</strong> name resolution; inherited attributes <strong>and</strong> symbol tables. Name resolution in blockstructured<br />
languages; Type checking: Type systems, varieties <strong>of</strong> strong typing, overload resolution, polymorphism<br />
<strong>and</strong> dynamic dispatching. Type checking <strong>and</strong> type inference, unification; Run-time or Run-time organization:<br />
storage allocation, non-local references, parameter passing, dynamic storage allocation. Exception h<strong>and</strong>ling,<br />
debugging information; Intermediate code generation: control structures, expressions, simple register allocation.<br />
Aggregates <strong>and</strong> other high-level constructs; Global optimization<br />
Reference Book:<br />
i. W. M. Waite <strong>and</strong> G. Goos, Compiler construction, Springer Verlag 1994.<br />
CSC 3206 Group Project (5 CU)<br />
Course Content: The course is to allow students, in groups, to integrate the knowledge acquired over the previous<br />
five semesters into solving a non trivial problem through a computer application. Emphasis will be put on the<br />
systematic development methodology, the documentation <strong>of</strong> the development process, <strong>and</strong> how well the developed<br />
system addresses the problem to be solved. Non functional attributes like robustness, usability, security <strong>and</strong><br />
reliability will also be tested. The course will give students experience in Group <strong>and</strong> collaborative work, Proper<br />
procedures in development <strong>of</strong> computer systems, Proper documentation <strong>of</strong> the s<strong>of</strong>tware development process,<br />
Development <strong>of</strong> big not trivial computer projects. The content is to be determined by the students under the<br />
guidance <strong>of</strong> the supervisor.<br />
CSC 3207 Computer Security (3 CU)<br />
Course Description: Computer security is a branch <strong>of</strong> technology concerned with digital security or information<br />
security applied to computers. Since the largest part <strong>of</strong> the computer that users interact with is s<strong>of</strong>tware, computer<br />
security pays big attention to development <strong>of</strong> secure s<strong>of</strong>tware. Students will be conversant with threats faced by<br />
computers in the connected digital world, techniques that are used to protect computers against various threats.<br />
Indicative Content: Digital security principles, Hardware based security mechanisms, Secure operating systems,<br />
Security architecture, Security by design, Secure coding (S<strong>of</strong>tware Security), Access Control Lists <strong>and</strong> Security<br />
Applications.<br />
51
Reference Books:<br />
i. R. J. Anderson: Security Engineering: A Guide to Building Dependable Distributed Systems, Willey 2001.<br />
ii. R. C. Seacord: Secure Coding in C <strong>and</strong> C++, Addison Wesley, 2005.<br />
BIT 3200 Business Intelligence <strong>and</strong> Data Warehousing (4 CU)<br />
Course Description: This course covers techniques <strong>and</strong> s<strong>of</strong>tware tools that can assist management that deals with<br />
large amounts <strong>of</strong> data in management <strong>and</strong> business decision making. The course covers the fundamental differences<br />
between databases <strong>and</strong> data warehouses, the techniques <strong>of</strong> developing data warehouses as well as manipulating them<br />
to generate business strategic decisions. Students will be able to underst<strong>and</strong> the role <strong>and</strong> operation <strong>of</strong> data<br />
warehouses, be equipped with skills <strong>of</strong> developing, maintaining, <strong>and</strong> manipulating data warehouses to generate<br />
information for business decision making.<br />
Indicative Content: Data warehouse concepts: partitioning, granularity, record <strong>of</strong> source, <strong>and</strong> metadata; Building<br />
viable decision support environments; Architect development, Data migration <strong>and</strong> integration, Use <strong>of</strong> operational<br />
data stores, <strong>and</strong> transactional systems.<br />
Reference Books:<br />
i. P. Ponniah, Data warehousing fundamentals, Wiley, 2001.<br />
BSE 3202: Distributed Systems Development (4 CU)<br />
Course Content: This course gives students theoretical <strong>and</strong> practical skills on development <strong>of</strong> distributed systems<br />
<strong>and</strong> applications. This includes distributed system-specific challenges like reliability <strong>and</strong> robustness. Students will<br />
be equipped with skills <strong>of</strong> developing distributed systems.<br />
Indicative Content; Event-driven s<strong>of</strong>tware architectures, Distributed object computing, Development,<br />
documentation <strong>and</strong> testing <strong>of</strong> distributed applications, Techniques for reusable, extensible <strong>and</strong> efficient s<strong>of</strong>tware<br />
systems, Maintainability <strong>and</strong> concurrence in distributed systems, Abstraction based on patterns <strong>and</strong> object-oriented<br />
techniques<br />
Reference Books:<br />
i. S. Tanenbaum <strong>and</strong> M. V. Steen, Distributed Systems: Principles <strong>and</strong> Paradigms, 2nd Edition, Prentice<br />
Hall, 2006.<br />
ii. R. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, John Wiley &<br />
Sons, 2001.<br />
6.4 Diploma in Computer Science <strong>and</strong> Information Technology Programme (DSCIT)<br />
6.4.1 Overview<br />
The Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology, Makerere University runs a two year undergraduate<br />
Diploma in Computer Science <strong>and</strong> Information Technology. It was first introduced in 2003 <strong>and</strong> revised in 2009. The<br />
revised curriculum took effect in 2009/2010 Academic year. It targets A-level leavers, Diploma holders <strong>and</strong><br />
Certificate holders. It is a day <strong>and</strong> evening privately sponsored Programme.<br />
The main objectives <strong>of</strong> the Programme is develop personnel with theoretical <strong>and</strong> practical skills through h<strong>and</strong>s on<br />
training in Computer Science <strong>and</strong> Information Technology who will be able to provide high quality technical<br />
support in computerized organizations. The Programme is run jointly by the Department <strong>of</strong> Computer Science <strong>and</strong><br />
Department <strong>of</strong> Information Technology. On top <strong>of</strong> overseeing the day to day running <strong>of</strong> the Programme, the<br />
departments explore ways <strong>of</strong> improving the quality <strong>of</strong> the Programme so as to achieve its objectives.<br />
52
1. Target Group<br />
The revised Programme targets A- Level Leavers <strong>and</strong> Certificate holders.<br />
2. Minimum admission requirements<br />
To be admitted to the Diploma in Computer Science <strong>and</strong> Information Technology, a c<strong>and</strong>idate must satisfy the<br />
general admission requirements for Makerere University. In addition, the following conditions apply:<br />
(a) Direct Entry:<br />
A C<strong>and</strong>idate must satisfy the general minimum entry requirements <strong>of</strong> Makerere University. In addition, the<br />
following regulations shall hold: C<strong>and</strong>idates seeking admission through direct entry must have obtained:<br />
i. The Ug<strong>and</strong>a Certificate <strong>of</strong> Education (UCE) or its equivalent, with credits in English <strong>and</strong> Mathematics.<br />
ii. At least two principle passes at the same sitting in Ug<strong>and</strong>a Advanced Certificate <strong>of</strong> Education (UACE) in any<br />
two subjects (Mathematics, Physics, Economics, Chemistry, Biology, Geography, Literature,<br />
Entrepreneurship, Technical Drawing <strong>and</strong> Fine Art).<br />
iii. For purposes <strong>of</strong> computing weighted points, the A- level subjects shall be grouped <strong>and</strong> weighted as follows:<br />
(b) Diploma Holders<br />
Group Weight Subjects<br />
Essential 3 Any two best done subjects<br />
Relevant 2 Any other best done subjects<br />
Desirable 1 General Paper, Sub-Mathematics<br />
Others 0.5 All others.<br />
i. At least any second Class (lower division) diploma from a recognized institution.<br />
ii. C<strong>and</strong>idates who hold a Diploma in Computer Science <strong>and</strong> Information Technology from Makerere<br />
University with at least second class (lower division) shall be admitted to second year <strong>of</strong> Bachelor <strong>of</strong><br />
Information Technology. C<strong>and</strong>idates who hold a pass class <strong>of</strong> the same diploma shall be admitted to<br />
first year <strong>of</strong> Bachelor <strong>of</strong> Information Technology.<br />
(c) Certificate Holders:<br />
C<strong>and</strong>idates seeking admission through the certificate holders’ scheme must:<br />
i. Have passed Mathematics <strong>and</strong> English with at least a credit in the Ug<strong>and</strong>a Certificate <strong>of</strong> Education<br />
ii. Have at least a credit certificate in computer science or related discipline from a recognized institution<br />
3. Nature <strong>of</strong> the Programme<br />
The Programme is both day <strong>and</strong> evening. It is an entirely privately sponsored Programme.<br />
4. Duration<br />
The duration <strong>of</strong> the Programme is two (2) academic years consisting <strong>of</strong> four (4) semesters <strong>and</strong> two recess terms.<br />
Each semester lasts seventeen (17) weeks two <strong>of</strong> which are for examinations.<br />
5. Tuition Fees<br />
Tuition fees for privately sponsored students shall be 2,100,000 Ug<strong>and</strong>a Shillings per year for Ug<strong>and</strong>ans <strong>and</strong><br />
2,520,000 Ug<strong>and</strong>a Shillings per year for non Ug<strong>and</strong>ans. This is the same tuition fees for the existing curriculum.<br />
6. Semester Load <strong>and</strong> Minimum Graduation Load<br />
The normal semester load is between 15 <strong>and</strong> 24 credit units. The minimum graduation load is 60 credit units.<br />
53
6.4.2 Programme Structure<br />
A.) Computer Science Option<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CU LH PH TH CH<br />
Semester 1<br />
CSC 1100 Computer Literacy 4 30 60 -- 60<br />
CSK 1101 Communication Skills 4 45 30 -- 60<br />
DCS 1103 Gender <strong>and</strong> ICT 3 45 -- -- 45<br />
DCS 1107 Fundamentals <strong>of</strong> Mathematics 3 30 -- 30 5<br />
DCS 1108 Computer Assembly, Repair <strong>and</strong> Maintenance I 3 30 30 -- 45<br />
Semester 2<br />
CSC 1204 Research Methodology 3 30 -- 30 45<br />
DCS 1205 Programming Fundamentals 3 45 -- -- 45<br />
DCS 1206 Computer Assembly, Repair <strong>and</strong> Maintenance II 3 30 30 -- 45<br />
DCS 1207 Fundamentals <strong>of</strong> Web site Design 3 30 30 -- 45<br />
DCS 1208 Fundamentals <strong>of</strong> Database Design 3 30 30 -- 45<br />
Year 1. Recess Term<br />
CSC 1301 Practical Skills Development 4 -- 120 -- 60<br />
CSC 1303 Cisco Certified Network Associate (Audited) 5 150 100 -- 200<br />
Semester 3<br />
CSC 1104 Computer Organization & Architecture 4 60 -- -- 60<br />
CSC 1105 Numerical Methods 3 45 -- -- 45<br />
CSC 1106 Programming Methodology I 3 30 30 -- 45<br />
DCS 2103 Ethics in an IT Environment 3 45 -- -- 45<br />
Electives: (1 elective course)<br />
BIT 1102 Communication Technology & The Internet 3 45 -- -- 45<br />
BIT 1104 Information Technology I 3 45 -- -- 45<br />
Semester 4<br />
CSC 1206 Computational Mathematics 4 45 -- 30 60<br />
CSC 1207 Programming Methodology II 4 30 60 -- 45<br />
CSC 1208 Individual Project I 4 15 90 -- 60<br />
CSC 1209 Logic Programming 3 30 30 -- 45<br />
Electives: (1 elective course)<br />
BIT 1204 Information Management 4 45 30 -- 60<br />
BIS 1200 Information Systems in Business 3 45 -- -- 45<br />
BSE 1205 Introduction to Internet Programming 4 45 30 -- 60<br />
54
B.) Information Technology Option<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CU LH PH TH CH<br />
Semester 1<br />
CSC 1100 Computer Literacy 4 30 60 -- 60<br />
CSK 1101 Communication Skills 4 45 30 -- 60<br />
DCS 1103 Gender <strong>and</strong> ICT 3 45 -- -- 45<br />
DCS 1107 Fundamentals <strong>of</strong> Mathematics 3 30 -- 30 5<br />
DCS 1108 Computer Assembly, Repair <strong>and</strong> Maintenance I 3 30 30 -- 45<br />
Semester 2<br />
CSC 1204 Research Methodology 3 30 -- 30 45<br />
DCS 1205 Programming Fundamentals 3 45 -- -- 45<br />
DCS 1206 Computer Assembly, Repair <strong>and</strong> Maintenance II 3 30 30 -- 45<br />
DCS 1207 Fundamentals <strong>of</strong> Web site Design 3 30 30 -- 45<br />
DCS 1208 Fundamentals <strong>of</strong> Database Design 3 30 30 -- 45<br />
Year 1: Recess Term<br />
CSC 1301 Practical Skills Development 4 -- 120 -- 60<br />
CSC 1302 CCNA Sem. I & II (Audited) 5 150 100 -- 200<br />
Semester 3<br />
BIT 1102 Communication Technology & The Internet 4 30 60 -- 60<br />
BIT 1104 Information Technology I 4 45 30 -- 60<br />
CSC 1106 Programming Methodology I 3 30 30 -- 45<br />
DCS 2103 Ethics in an IT Environment 3 45 -- -- 45<br />
Electives: (1 elective course)<br />
CSC 1104 Computer Organization & Architecture 4 60 -- -- 60<br />
CSC 1105 Numerical Methods 3 45 -- -- 45<br />
Semester 4<br />
CSC 1207 Programming Methodology II 4 30 60 -- 45<br />
BIT 1204 Information Management 4 45 30 -- 60<br />
BIS 1200 Information Systems in Business 3 45 -- -- 45<br />
BSE 1205 Introduction to Internet Programming 4 45 30 -- 60<br />
Electives: (1 elective course)<br />
CSC 1206 Computational Mathematics 4 45 -- 30 60<br />
CSC 1208 Individual Project I 4 15 90 -- 60<br />
CSC 1209 Logic Programming 3 30 30 -- 45<br />
6.4.3 Course Unit Description<br />
CSC 1100: Computer Literacy (4 CU)<br />
Course Description: In this course, students are to learn about the basic organization, concepts <strong>and</strong> terminologies in<br />
a computerized environment. They are also to get an in depth underst<strong>and</strong>ing <strong>of</strong> common computer applications. The<br />
use <strong>of</strong> related applications in different operating systems will be explored. The aims <strong>of</strong> the course unit are to: Equip<br />
students with basic knowledge about computer organization; Equip students with skills <strong>of</strong> using common <strong>of</strong>fice<br />
applications; Expose students to different operating systems; Equip students with skills <strong>of</strong> how to use the Internet;<br />
<strong>and</strong> equip students with knowledge about common text editors in different operating systems. On completion <strong>of</strong> this<br />
course unit, the students will be able to: Describe the different parts <strong>of</strong> a computer; describe the historical evolution<br />
55
<strong>of</strong> computers; competently use the common <strong>of</strong>fice applications in at least two operating systems <strong>and</strong> competently<br />
use common text editor in at least two operating systems.<br />
Indicative Content: General computer organisation; Historical perspectives <strong>of</strong> computing; common Micros<strong>of</strong>t<br />
<strong>of</strong>fice packages; <strong>of</strong>fice packages in other operating systems; text editors; Common Linux <strong>and</strong> Using the web.<br />
Reference Books:<br />
i. J. Preston, R. Ferret <strong>and</strong> S. Gaskin, Computer Literacy, 2007.<br />
ii. J. Janrich <strong>and</strong> D. Oja, Practical Computer Literacy, 2001.<br />
CSK 1101 Communication Skills (4 CU)<br />
Course Description: This course provides students with skills <strong>of</strong> effective communication. These include verbal,<br />
written, <strong>and</strong> gesture. The course aims at facilitating students appropriately <strong>and</strong> clearly communicate with others. The<br />
aims <strong>of</strong> the course unit are to: Improve the communication competencies <strong>of</strong> the student; Improve problem solving<br />
strategies <strong>of</strong> students; improve the art <strong>of</strong> critical thinking within the student; improve the student’s ability to collect<br />
<strong>and</strong> synthesize information; provide students with knowledge to utilize the library <strong>and</strong> other educational resources.<br />
Indicative Content:<br />
• Writing Skills: Thinking critically/selectively before the writing process; selecting the relevant details;<br />
organizing the relevant details logically; writing the reports essays, letters <strong>and</strong> taking notes in appropriate<br />
register; avoiding ambiguities, fallacies, irrationalities; providing supportive evidence; editing documents,<br />
pro<strong>of</strong> reading; writing <strong>and</strong> exp<strong>and</strong>ing information; Quoting <strong>and</strong> citing references; writing a curriculum<br />
vitae.<br />
• Reading Skills: The use <strong>of</strong> skimming; scanning inference <strong>and</strong> prediction in reading; Intensive <strong>and</strong> critical<br />
reading; Acquisition <strong>of</strong> specific reading skills; Interpretation <strong>of</strong> non linear texts; Locating information <strong>and</strong><br />
comprehension.<br />
• Speaking <strong>and</strong> Listening Skills to Enhance Effective Public Relations: The art <strong>of</strong> persuasion in effective<br />
speaking; Conducting interviews; Conducting meetings; Participating in group discussions <strong>and</strong> tutorials;<br />
Non verbal communication clues; Presentation seminars, seeking clarification etc.; Expression <strong>of</strong><br />
politeness; Public speaking; Proper listening skills.<br />
• Examination Skills; Preparing for examinations: How much one gets from group discussions; Proper<br />
revision; Underst<strong>and</strong>ing examination rubric; Budgeting time during examination process; Writing<br />
examinations <strong>and</strong> following instructions<br />
Reference Books:<br />
i. B. Bough, 101 ways to improve your communication skills instantly, 4th edition, 2005<br />
ii. P. Klavs, The hard Truth About s<strong>of</strong>t skills: Work Place Lessons Smart People wish they had learned<br />
sooner, 2008.<br />
DCS 1103: Gender <strong>and</strong> ICT (3 CU)<br />
Course Description: This course tackles the concepts <strong>of</strong> gender <strong>and</strong> how it affects / is affected by the Information<br />
<strong>and</strong> Communication Technologies. The course covers organizational, individual <strong>and</strong> technological aspects <strong>of</strong> the<br />
relationship between gender <strong>and</strong> ICT. By the end <strong>of</strong> the course, students should be able to underst<strong>and</strong> the social,<br />
organizational <strong>and</strong> technological underpinnings <strong>of</strong> gender <strong>and</strong> how they affect/ are affected in the ICT environment.<br />
Indicative Content: Introduction to Gender <strong>and</strong> ICT; Gender <strong>and</strong> Technology; Use <strong>of</strong> ICTs in addressing<br />
addressing gender equality; Gender <strong>and</strong> ICTs: mapping the change; ICTs as tools to challenge gender inequality;<br />
ICTs as tools to promote empowerment; Guidelines to gender sensitive policy making<br />
Reference Books:<br />
i. G. Lupton, P. M. Short <strong>and</strong> R. Whip, Society <strong>and</strong> Gender: An Introduction to Sociology, Macmillan, 1992.<br />
ii. E. Rathgehen <strong>and</strong> E. O. Adena, Gender <strong>and</strong> the Information Revolution in Africa, 2000.<br />
56
DCS 1107 Fundamentals <strong>of</strong> Mathematics (3 CU)<br />
Course Description: This course introduces basic mathematics to the students. It lays foundation for further<br />
mathematics <strong>and</strong> its applications in the course. it helps the student bridge high school mathematics to the<br />
mathematics required at university level. The aim <strong>of</strong> the course is to give students a strong mathematical foundation<br />
in order to comprehend further mathematical applications <strong>of</strong> computer science in the Programme. On completion <strong>of</strong><br />
this course unit, the students will be able to: Perform basic <strong>and</strong> intermediate differentiation; Perform basic <strong>and</strong><br />
intermediate integration; Demonstrate adequate knowledge <strong>of</strong> trigonometry; be able to solve simple systems <strong>of</strong><br />
linear equations <strong>and</strong> demonstrate knowledge <strong>of</strong> geometry.<br />
Indicative Content:<br />
• Differentiation: Gradient <strong>of</strong> a curve, chain rule, products <strong>and</strong> quotients, implicit differentiation, products<br />
<strong>and</strong> quotients, rates <strong>of</strong> change.<br />
• Integration: Basic integration, change <strong>of</strong> variables, integration by inspection, integration by parts.<br />
• Trigonometry: Trigonometric curves, compound <strong>and</strong> half angle formulae, derivatives <strong>of</strong> trigonometric<br />
functions:<br />
• Systems <strong>of</strong> linear equations: Solution by elimination, substitution <strong>and</strong> crammer’s rule<br />
• Geometry: Equation <strong>of</strong> lines, planes, intersection <strong>of</strong> lines <strong>and</strong> lines, lines <strong>and</strong> planes <strong>and</strong> planes <strong>and</strong> planes<br />
Reference Books:<br />
i. J. K. Backhouse <strong>and</strong> S. P. T. Houldsworth, Pure Mathematics I, Longmans, Press, 2005.<br />
DCS 1108: Computer Maintenance, Repair <strong>and</strong> Assembly I (3 CU)<br />
Course Description: The course gives students foundation knowledge on maintenance, assembly <strong>and</strong> repair <strong>of</strong><br />
desktop computers <strong>and</strong> laptops. Students learn the art <strong>of</strong> maintaining <strong>of</strong> computers as well as assembling <strong>and</strong><br />
repairing them. The course is largely h<strong>and</strong> on. The aims <strong>of</strong> the course are: To give students skills <strong>of</strong> assembling<br />
computers; replaying specific parts <strong>of</strong> the computers <strong>and</strong> repairing computers. By the end <strong>of</strong> the course, the student<br />
should be able to connect a computer to printers, networks, scanners, etc; Assemble a computer from its parts <strong>and</strong> be<br />
able to identify different components <strong>of</strong> the computer (internal <strong>and</strong> External); be able to identify <strong>and</strong> replace<br />
defective parts <strong>of</strong> a computer<br />
Indicative Content: Computer Assembly<br />
Reference Book:<br />
i. J. Z. Rosenthal <strong>and</strong> K. J. Irwin, PC Repair <strong>and</strong> Maintainance: A Practical Guide, Charles River Media,<br />
2003.<br />
CSC 1204 Research Methodology (3 CU)<br />
Course Description: The purpose <strong>of</strong> this course is to acquaint students with types <strong>of</strong> scientific research relevant for<br />
anyone working in the field <strong>of</strong> computer science. It will enable students to develop capacity to conduct small, simple<br />
research projects while at the university. The aims <strong>of</strong> the course are to provide the student with: Enable students<br />
become competent in underst<strong>and</strong>ing the research process. Provide skills that will enable students undertake<br />
independent research using a variety <strong>of</strong> appropriate methods, using primary <strong>and</strong> secondary data, as well as<br />
qualitative <strong>and</strong> quantitative techniques. Provide students with skills to produce a research proposal <strong>and</strong> highlight<br />
ethical research practices to students.<br />
Indicative Content: Introduction to scientific research; Formulating <strong>and</strong> clarifying the research topic <strong>and</strong> research<br />
problem; Conducting a literature review; Different research approaches; Ethics in research; Sampling; Use <strong>of</strong><br />
secondary data; Collection methods for primary data; Analyzing qualitative data; Analyzing quantitative data <strong>and</strong><br />
writing a research proposal <strong>and</strong> project report.<br />
57
Reference Books:<br />
i. H. Cooper, Synthesizing Research: A Guide for Literature Reviews, Thous<strong>and</strong> Oaks, California: Sage<br />
Publications, 1998.<br />
ii. M. Sounders, P. Lewis & A. Thornhill, Research Methods for Students, 3rd edition, UK, Financial times,<br />
Prentice hall 2003.<br />
DCS 1205: Programming Fundamentals (3 CU)<br />
Course Description: The course gives students the fundamentals <strong>of</strong> programming. Students learn Programme flow,<br />
control as well as selected procedures using pseudo codes. Flow chats are used to conceptualize the flow <strong>and</strong> syntax<br />
<strong>of</strong> the operations. The aim <strong>of</strong> the course is to give students a conceptual view <strong>of</strong> the art <strong>of</strong> programming <strong>and</strong><br />
Programme controls so that they are able to competently implement programming projects in specific languages.<br />
Indicative Content: Programme structure; Variables <strong>and</strong> declarations; Programme controls; Searching <strong>and</strong> sorting;<br />
Functions <strong>and</strong> procedures; Searching <strong>and</strong> sorting<br />
Reference Books:<br />
i. R. E. Neapolitan, K. Naimipour, Foundations <strong>of</strong> Algorithms Using C++ Pseudocode, 2nd edition , Jones<br />
& Bartlett Publishers, 1998.<br />
DCS 1206: Computer Maintenance, Repair <strong>and</strong> Assembly II (3 CU)<br />
Course Description: The course give students advanced knowledge in repair <strong>and</strong> maintenance <strong>of</strong> computers.<br />
Students go beyond assembling into identification <strong>of</strong> faulty parts <strong>and</strong> replacements as well as s<strong>of</strong>tware installation,<br />
upgrades <strong>and</strong> troubleshooting. The aims <strong>of</strong> the course are to give students advanced skills in computer repair <strong>and</strong><br />
trouble shooting. By the end <strong>of</strong> the course, the student should be able to repair, trouble shoot, install <strong>and</strong> upgrade<br />
computer Programmes.<br />
DCS 1207: Fundamentals <strong>of</strong> Website Design (3 CU)<br />
Course Description: This course aims to provide an underst<strong>and</strong>ing <strong>of</strong> the basics <strong>of</strong> the Internet, how it originated,<br />
how it works, <strong>and</strong> how to develop <strong>and</strong> maintain Web sites using HTML editors <strong>and</strong> site management tools such as<br />
FrontPage <strong>and</strong>/or Dream weaver. The primary aim <strong>of</strong> this course is to provide a basic underst<strong>and</strong>ing <strong>of</strong> Internet<br />
related technologies <strong>and</strong> introductory skills in Web applications.<br />
Indicative Content: Introduction to basic Internet Technologies such as DNS, email services, LDAP <strong>and</strong> the HTTP<br />
protocol; Web lay out <strong>and</strong> presentation; Web site development; Dynamic web sites <strong>and</strong> content management;<br />
Trends in web technologies<br />
Reference Books;<br />
i. J. N. Robbins <strong>and</strong> A. Gustafson, Learning Web Design: A Beginner’s Guide to (X) HTML, Style Sheets,<br />
<strong>and</strong> Web Graphics, O’Reilly Media, 2007.<br />
DCS 1208: Fundamentals <strong>of</strong> Database Design (3 CU)<br />
Course Description: This course gives students skills in the design <strong>and</strong> development <strong>of</strong> databases together with<br />
database applications. The course caters for design as well as scripting skills. The aims <strong>of</strong> the course are: To teach<br />
students systematic ways <strong>of</strong> designing database schemas; to teach students skills <strong>of</strong> developing database<br />
applications. By the end <strong>of</strong> the course, students should be able to: Systematically design database schemas given a<br />
data requirements document; Develop good applications Programmes that manipulate data in a database.<br />
Indicative Content: Database requirements collection; database Design; Introduction to SQL, Advanced SQL,<br />
Query-By-Example (QBE); Introduction to Visual Basic; Scripting<br />
Reference Book:<br />
i. T. Connolly <strong>and</strong> C. Begg, Database Systems: A Practical Approach to Design, Implementation <strong>and</strong><br />
Management, 2005.<br />
58
CSC 1301: Practical Skills Development (4 CU)<br />
Course Description: The course aims at imparting practical skills in areas chosen by the faculty. The students are to<br />
be supervised by staff with in the faculty. Areas <strong>of</strong> practical skills development include; Implementation <strong>of</strong> projects;<br />
Network <strong>and</strong> system administration; Hardware maintenance <strong>and</strong> Computer assembly.<br />
This can be done within the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology or any other unit in Makerere<br />
University. Students will write a report at the end <strong>of</strong> the course.<br />
CSC 1303: Cisco Certified Network Associate (Audited) (5 CU)<br />
Course Description: In this course, students will cover the course content <strong>of</strong> the CCNA international curriculum.<br />
CSC 1104: Computer Organization & Architecture (4 CU)<br />
Course Description: This course introduces the logical architecture <strong>and</strong> organization <strong>of</strong> computer systems. It<br />
highlights the lower end operations in a typical computer as well as the way computers manage their resources<br />
during operation. The course opens up a student to be an informed user <strong>of</strong> the computer rather than a passive<br />
recipient <strong>of</strong> the computer services. Teaching will be in terms <strong>of</strong> lectures as well as tutorials. The aims <strong>of</strong> the course<br />
are: To introduce to students the concepts <strong>of</strong> computer organization; to highlight to students the way computers<br />
process <strong>and</strong> store the data; to highlight internal management issues in computer systems. By the end <strong>of</strong> the course,<br />
the student will be able to know the organization, processing <strong>and</strong> storage mechanisms <strong>of</strong> computer systems.<br />
Indicative Content<br />
• Data Representation: Integer Formats, Binary, Octal <strong>and</strong> Hexadecimal Systems, Negative integers <strong>and</strong> 2’s<br />
Complement, Floating Point Formats, BCD Formats, Alphanumeric Codes.<br />
• Basic Digital Circuits: Logic gates, Karnaugh maps, Combinatorial Circuits, Binary Adders, Multiplexers<br />
<strong>and</strong> Demultiplexers, Comparators, Decoders <strong>and</strong> Encoders, Code Converters, ROMS <strong>and</strong> PLA’s,<br />
Sequential Circuits, Flip Flops <strong>and</strong> Latches, R-S flip flops, J-K flip flops, T flip Flops, D flip flops,<br />
Registers, Shift Registers <strong>and</strong> Data Transmission, Sequential Network Design.<br />
• Micro Computer Architecture: CPU, Memory, I/O Devices <strong>and</strong> Interfaces, System Bus, Examples <strong>of</strong> CPU<br />
Structures, The Intel Pentium CPU, The Z-80 or Motorolla, Machine Language Instructions, Instruction<br />
Formats <strong>and</strong> Addressing Modes.<br />
• The Processing Elements: Macroinstruction execution, Internal Bus Transfers, Detailed Internal<br />
Architecture, Microcontrol, Hardwired Control, Micro programmed Control, Reduced Instruction Set<br />
Computers.<br />
• I/O Programming: Programmed I/O, Interrupt I/O, Polling, Priority Interrupt System, Direct Memory<br />
Access, I/O processors.<br />
• Memory Systems <strong>and</strong> Memory Management: Memory Hierarchy, Main Memory, Auxiliary Memory,<br />
Associative Memory,<br />
• Cache Memory, Virtual Memory, Memory Management Hardware<br />
Reference Books:<br />
i. M. M. Mano, Computer Systems Architecture, Prentice Hall, 1993.<br />
ii. A. S. Tanebaum, Structured Computer Organization, Prentice Hall 1984.<br />
iii. G. B. Gibson, Computer Systems Concepts <strong>and</strong> Design, Prentice Hall, 1991.<br />
iv. W. Stallings, Computer Organization <strong>and</strong> Architecture, Prentice Hall 2003.<br />
CSC 1105: Numerical Methods (3 CU)<br />
Course Description: The course is to sharpen the students’ skills in using numerical approaches to solve<br />
mathematical/real life problems. The focus will be on the ability to correctly formulate numerical problems <strong>and</strong><br />
schemes that solve them. Emphasis will be put on the precision <strong>and</strong> robustness <strong>of</strong> the schemes. The course will be<br />
59
taught theoretically. The developed schemes can be implemented <strong>and</strong> run in any programming language. The aims<br />
<strong>of</strong> the course are; to provide a solid basis on the numerical approaches to computational problem solving; To<br />
provide students with problem analysis <strong>and</strong> solving skills to be able to h<strong>and</strong>le typical computational problems in<br />
practice. By the end <strong>of</strong> the course, the student should be able to; Derive schemes for different set ups <strong>of</strong> numerical<br />
problems; Test for convergence <strong>of</strong> different schemes; correctly use the schemes to generate solutions to the<br />
numerical problems to the required precision.<br />
Indicative Content: Numerical solutions to non linear equations; Numerical solutions for systems <strong>of</strong> linear<br />
equations; Fast - Fourier transforms; Numerical differentiation; Numerical integration; Numerical solutions for<br />
differential <strong>and</strong> difference equations.<br />
Reference Books:<br />
i. R. L. Burden <strong>and</strong> J. D. Faires, Numerical Analysis, Wardsworth, 1993.<br />
ii. A. K. Kaw, E. E. Kalu <strong>and</strong> D. Nguyen, Numerical Methods with Applications, 2008.<br />
CSC 1106: Programming Methodology I (3 CU)<br />
Course Description: The course is to create a strong base in the principles <strong>and</strong> practice <strong>of</strong> functional programming.<br />
A high level programming language like C is to be used. Students are to cover both theoretical principles <strong>and</strong> h<strong>and</strong>s<br />
on practical skills. The main concepts to cover include Programme structure, data structures, syntactical <strong>and</strong><br />
semantic correctness, planning <strong>and</strong> segmentation in programming as well as working with files. The aims <strong>of</strong> the<br />
course are to provide the student with: comprehensive knowledge about structured oriented programming;<br />
Knowledge in planning <strong>and</strong> organization <strong>of</strong> programming projects; Knowledge <strong>and</strong> techniques <strong>of</strong> evaluating<br />
syntactic <strong>and</strong> semantic correctness <strong>of</strong> a computer Programme <strong>and</strong> strong practical basis in programming.<br />
Indicative Content: Program structure; Variables <strong>and</strong> Operators; Conditional statements; Looping statements;<br />
Arrays <strong>and</strong> strings; Functions; Advanced data types; Pointers; Dynamic memory allocation <strong>and</strong> dynamic structures;<br />
Working with files <strong>and</strong> GUI.<br />
Reference Books:<br />
i. B. W. Kernighan <strong>and</strong> D. M. Ritchie, C Programmeming Language, 2nd edition, 1989.<br />
ii. S. P. Harbison, C: A Reference Manual, 5th edition, 2004.<br />
DCS 2103: Ethics in an IT Environment (3 CU)<br />
Course Description: The course addresses ethical issues in an IT environment. It explores cases <strong>of</strong> un ethical<br />
conduct possible by IT pr<strong>of</strong>essionals <strong>and</strong> how they can impact on the overall success/failure. The course aims at<br />
instilling ethical conduct in students so that they can be more resourceful in the organizations where they work.<br />
Indicative Content: Introduction to Ethics; Legal aspects <strong>and</strong> Implication <strong>of</strong> un ethical behavior; Business<br />
implications <strong>of</strong> un ethical behavior; Typical Un ethical behaviors in an ICT environment; Mitigation <strong>and</strong> defensive<br />
measures <strong>of</strong> un ethical behavior in ICT environment<br />
Reference Book:<br />
i. J. M. Kizza, Ethical <strong>and</strong> Social Issues in the Information Age, 2nd edition, Springer, 2003.<br />
BIT 1102 Communications Technology & Internet (4 CU)<br />
Course Description: This course is intended to be at the introductory level in a curriculum <strong>and</strong> to provide<br />
foundation skills for subsequent network-related courses, for example, Internet Programming. It provides an<br />
overview <strong>of</strong> Communications Technology <strong>and</strong> Internet. The goal is to help students underst<strong>and</strong> the role <strong>and</strong> meaning<br />
<strong>of</strong> Communications Technology <strong>and</strong> Internet in the contemporary world. The course aims to: Give students main<br />
guidelines for the future study <strong>of</strong> networks-related courses; Develop their knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> core<br />
networking concepts <strong>and</strong> technologies; Internet <strong>and</strong> intranet tools; basics <strong>of</strong> networking protocols; basics <strong>of</strong> network<br />
security; core Internet infrastructure; personal, business, social, legal <strong>and</strong> ethical implications <strong>of</strong> Internet<br />
governance.<br />
60
Indicative Content: Networking Concepts; Internet <strong>and</strong> Intra net Tools; Protocols; Security; Internet Infrastructure<br />
<strong>and</strong> Governance Personal, Business, Social, Legal <strong>and</strong> Ethical Implications<br />
Reference Books:<br />
i. D. E. Comer,The Internet Book, Prentice Hall Inc., Upper Saddle River, 2000.<br />
ii. D. Amor, Internet Future Strategies: How Pervasive <strong>Computing</strong> Services Will Change the World, Prentice<br />
Hall Inc., Upper Saddle River, 2002.<br />
iii. I. Zeid, Mastering the Internet <strong>and</strong> HTML, Prentice Hall Inc., Upper Saddle River, 2000.<br />
iv. P. Gralla, How the Internet Works, QUE Publishing, Indianapolis, 2006.<br />
v. A. E. Grant, J. H. Meadows, Communication Technology Update <strong>and</strong> Fundamentals, Focal Press, 2008.<br />
vi. M. Mirabito, B. Morgenstern, The New Communications Technologies, 5th Edition: Applications, Policy,<br />
<strong>and</strong> Impact, Focal Press, 2004.<br />
vii. M. Mirabito, B. Morgenstern, Communication Technology <strong>and</strong> Social Change: Theory <strong>and</strong> Implications<br />
Lea’s Communication Series, Lawrence Erlbaum, 2006.<br />
BIT 1104: Information Technology I (4 CU)<br />
Course Description: This course is intended to be at the introductory level in a curriculum <strong>and</strong> to provide<br />
foundation skills for subsequent courses. Together with Information Technology II it provides an overview <strong>of</strong> the<br />
discipline <strong>of</strong> IT, <strong>and</strong> begins to instill an IT mindset. The goal is to help students underst<strong>and</strong> the diverse contexts in<br />
which IT is used <strong>and</strong> the challenges inherent in the diffusion <strong>of</strong> innovative technology. The topics covered in this<br />
course include: User Centeredness <strong>and</strong> Advocacy; Information Assurance <strong>and</strong> Security; IT Systems Model;<br />
Management <strong>of</strong> Complexity (Abstraction, Modeling, best Practices, Patterns, St<strong>and</strong>ards, Use <strong>of</strong> Appropriate Tools);<br />
Adaptability; Pr<strong>of</strong>essionalism (Life-long Learning, Pr<strong>of</strong>essional Development, Ethics, Responsibility, Interpersonal<br />
Skills, Data versus Information). The course aims to: Give the students main guidelines for the future study <strong>of</strong> ITrelated<br />
courses; Develop their knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> the components <strong>of</strong> IT systems <strong>and</strong> their<br />
interrelationships;<br />
Indicative Content:<br />
• User Centeredness <strong>and</strong> Advocacy;<br />
• Information Assurance <strong>and</strong> Security;<br />
• IT Systems Model;<br />
• Management <strong>of</strong> Complexity; Abstraction; Modeling; Best Practices; Patterns; St<strong>and</strong>ards; Use <strong>of</strong><br />
Appropriate Tools<br />
• Adaptability<br />
• Pr<strong>of</strong>essionalism; Life-long Learning; Pr<strong>of</strong>essional Development; Ethics; Responsibility; Interpersonal<br />
Skills; Data versus Information<br />
Reference Books:<br />
i. J. A. Senn, Information Technology: Principles, Practices, Opportunities, Pearson Education, 2003.<br />
ii. D. Cyganski, J. A. Orr, Information Technology: Inside <strong>and</strong> Outside, Prentice Hall, 2001.<br />
iii. E. Turban, K. R. Rainer, R. E. Porter, Introduction to Information Technology, Whiley <strong>and</strong> Sons Inc., 2007.<br />
iv. J. Baschab, J. Piot , N.G. Garr, The Executive’s Guide to Information Technology, Whiley <strong>and</strong> Sons Inc.,<br />
2007.<br />
v. E. G. Walters, The Essential Guide to <strong>Computing</strong>: The Story <strong>of</strong> Information Technology, Prentice Hall Inc.,<br />
2000.<br />
vi. L. Snyder, Fluency with Information Technology: Skills, Concepts, <strong>and</strong> Capabilities, 3rd edition, Addison-<br />
Wesley, 2007.<br />
61
vii. B. Williams, <strong>and</strong> S. Sawyer, Using Information Technology, Career, Education, 2009.<br />
CSC 1206: Computational Mathematics (4 CU)<br />
Course Description: The course gives the students a strong mathematical base to be able to tackle other computer<br />
problems. The course brings together mathematical topics which are commonly used in the general area <strong>of</strong> computer<br />
science. It builds a foundation for other courses that need special mathematical backgrounds. The teaching will<br />
largely involve lectures, together with tutorials <strong>and</strong> take home assignments The aims <strong>of</strong> the course are: To provide<br />
students with a mathematical base that is to be used to solve computer science problems; To improve the problem<br />
solving skills <strong>of</strong> students.<br />
Indicative Content:<br />
• Calculus; Sequences <strong>and</strong> limits; Limits <strong>of</strong> functions & continuity Advanced differential calculus<br />
• Statistics; Discrete R<strong>and</strong>om variables <strong>and</strong> distributions; Continuous distributions; Basics <strong>of</strong> Monte Carlo<br />
simulations<br />
• Further topics; Mathematics for image processing; Mathematics for signal processing<br />
Reference Book:<br />
i. B. G. Thomas, R. L. Finney, Calculus <strong>and</strong> Analytic Geometry, 9th edition, Addison Wesley, 1995.<br />
ii. R. E. Walpole, Introduction to Statistics, 3rd edition, Prentice Hall, 1982.<br />
CSC 1207 Programming Methodology II (3 CU)<br />
Course Description: The course is to give an in depth underst<strong>and</strong>ing <strong>of</strong> Object Oriented programming. It is to cater<br />
for Object Oriented Programming practices like inheritance, interfaces, exception h<strong>and</strong>ling, action h<strong>and</strong>ling,<br />
security, s<strong>of</strong>tware reuse <strong>and</strong> robustness. The aim <strong>of</strong> the course is to: Move the students’ programming skills from<br />
basic to advanced; Avail students with skills to h<strong>and</strong>le non functional Programme aspects like robustness <strong>and</strong><br />
security <strong>and</strong> train students to develop complete computer applications.<br />
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
Reference Books:<br />
i. J. Lewis <strong>and</strong> W. L<strong>of</strong>tus, Java S<strong>of</strong>tware Solution: Foundations <strong>of</strong> Programme Design, 4th edition, 2008.<br />
ii. K. A. Mughal <strong>and</strong> R. W. Rasmussen, A Programmer’s Guide to JavaTM Certification: A comprehensive<br />
Primer, 3rd edition, 2008.<br />
CSC 1208: Individual Project I (4 CU)<br />
Course Content: This course is to give students an experience <strong>of</strong> developing simple but complete applications.<br />
Focus will be put on programming <strong>and</strong> Programme documentations as well as realization <strong>of</strong> the objectives.<br />
The aims <strong>of</strong> the course are: To practically give students skills <strong>of</strong> integrating different concepts <strong>of</strong> programming into<br />
a single application; To introduce the student to h<strong>and</strong>s on aspects <strong>of</strong> s<strong>of</strong>tware development; To nurture the student’s<br />
ability to independently read different sources <strong>of</strong> literature so as to identify what (s)he can use to develop his/her<br />
application.<br />
CSC 1209 Logic Programming (3 CU)<br />
Course Description: This course introduces a paradigm where computation arises from pro<strong>of</strong> search in logic<br />
according to a fixed, predictable strategy. It thereby unifies logical specification <strong>and</strong> implementation in a way that is<br />
quite different from functional or imperative programming. This course provides a thorough, modern introduction to<br />
logic programming. It introduces the basic concepts <strong>and</strong> techniques <strong>of</strong> logic programming followed by successive<br />
refinement towards more efficient implementations or extensions to richer logical concepts. It covers a variety <strong>of</strong><br />
62
logics <strong>and</strong> operational interpretations. The aim <strong>of</strong> the course is to provide a basic introduction to the logic<br />
Programming language <strong>and</strong> Prolog. It aims at introducing a number <strong>of</strong> logical systems <strong>of</strong> importance in computer<br />
science.<br />
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
Reference books:<br />
i. M. R. Huth <strong>and</strong> M. D. Ryan, Logic in Computer Science, Modeling <strong>and</strong> Reasoning about Systems,<br />
Cambridge University Press, 2000.<br />
ii. SWI Prolog Home Page, http://www.swi-prolog.org<br />
BIT 1204 Information Management (4 CU)<br />
Course Description: This course is important to the management, productivity <strong>and</strong> differentiation <strong>of</strong> an<br />
organization. Information is derived from data. This means that data must be efficiently collected, organized,<br />
retrieved <strong>and</strong> managed to make it meaningful to the organization. Thus, the development, deployment, management<br />
<strong>and</strong> integration <strong>of</strong> data <strong>and</strong> information systems to support the organization are a vital role <strong>of</strong> the IT pr<strong>of</strong>essional.<br />
Consequently, the knowledge area <strong>of</strong> Information Management should include the collection, organization,<br />
modeling, transformation, presentation, safety <strong>and</strong> security <strong>of</strong> the data <strong>and</strong> information. This course is aimed at<br />
giving students the skills needed to efficiently collect, organize, model, transform, present, <strong>and</strong> secure data <strong>and</strong><br />
information. Students will learn how to integrate information with Information Systems to make it meaningful to the<br />
Organization.<br />
Indicative Content: Concepts <strong>and</strong> fundamentals <strong>of</strong> Information management; Information system: purpose, use <strong>and</strong><br />
value; Properties <strong>of</strong> data (quality, accuracy, timeliness); Database systems; Analysis <strong>of</strong> data, forms & sources; Data<br />
collection <strong>and</strong> retention; Information backup <strong>and</strong> recovery; Database Query Languages; SQL data manipulation,<br />
data definition <strong>and</strong> performance tuning/optimization; XQuery <strong>and</strong> Xpath; Reports; Query by example <strong>and</strong> by<br />
optimization; Data Organization Architecture; Data models, Hierarchical, network <strong>and</strong> relational models; Object <strong>and</strong><br />
Object-relational databases; Logical, XML/XMI databases; Semantic <strong>and</strong> dimensional model; Star schema;<br />
Normalization <strong>and</strong> Data Integrity; Data modeling; Conceptual, logical <strong>and</strong> physical models; Re engineering <strong>of</strong><br />
Databases; St<strong>and</strong>ardized modeling in IDEF1, UML; CASE tools <strong>and</strong> data integration; Data Integration (data<br />
warehouses <strong>and</strong> data marts); Managing the Database Environment; Data <strong>and</strong> Database administration.; Distributed<br />
databases <strong>and</strong> patterns <strong>of</strong> distribution; Client server databases; N-tier architectures; Special-purpose databases (text,<br />
multimedia Temporal, spatial, mobile, scientific/genomic); Decision support; Knowledge management <strong>and</strong><br />
Information retrieval (digital libraries)<br />
Reference Books:<br />
i. T. Connolly, C. Begg, Database Systems: A Practical Approach to Design, Implementation <strong>and</strong><br />
Management. USA: Pearson Education Limited, 2002.<br />
ii. E. Turban., E. McLean, <strong>and</strong> J. Wetherbe, Information Technology for management: making connections<br />
for strategic advantage. John Wiley & Sons, Inc. 1998.<br />
BIS 1200 Information Systems in Business (3 CU)<br />
Course Description: The course covers the integration <strong>of</strong> Information <strong>and</strong> Communication Technologies into<br />
organizations <strong>and</strong> their working practices, from design <strong>and</strong> implementation to strategic effects. Drawing on<br />
Information Systems (IS) <strong>and</strong> Management literature, the course <strong>of</strong>fers a chance for students to examine case<br />
Studies <strong>of</strong> IS successes <strong>and</strong> failures <strong>and</strong> to explore real-world IS management issues. The course aims to provide<br />
students with knowledge for underst<strong>and</strong>ing the integration <strong>of</strong> business <strong>and</strong> technology resources to facilitate<br />
effective <strong>and</strong> efficient realization <strong>of</strong> an organizations mission <strong>and</strong> objectives.<br />
63
Upon successful completion <strong>of</strong> this course, the student should be able to: Appreciate the role <strong>of</strong> information<br />
technology <strong>and</strong> information systems function in modern organizations. Underst<strong>and</strong> the factors influencing<br />
information systems engineering. Gain an underst<strong>and</strong>ing <strong>of</strong> how to manage <strong>and</strong> grow information systems in<br />
organizations.<br />
Indicative Content:<br />
An information systems model: An Information System uses the resources <strong>of</strong> people, hardware, s<strong>of</strong>tware, data, <strong>and</strong><br />
networks to perform input, processing, output, storage <strong>and</strong> control activities that covert data resources into<br />
information products; Role <strong>of</strong> Information Systems in an organization; The shift from data processing Systems via<br />
information Systems to knowledge- Based Systems; How information <strong>and</strong> knowledge add value to an organization;<br />
Information Systems Trends; The Information Technology component <strong>of</strong> Information Systems; Information Systems<br />
Engineering; Strategic planning: Organizational strategies <strong>and</strong> objectives; Human resource development: budgeting,<br />
costing, charging, hire versus buy decisions; Hardware <strong>and</strong> s<strong>of</strong>tware procurement: request for proposal, evaluation,<br />
selection, contracting <strong>and</strong> maintenance; Security in computing: continuity<br />
<strong>of</strong> processes, controls <strong>and</strong> planning for st<strong>and</strong>by; Computer audit; Project management: approaches, tools, site<br />
planning <strong>and</strong> installation.<br />
Reference Books:<br />
i. G. Curtis, Business Information Systems: Analysis, Design <strong>and</strong> Practice, 1995.<br />
ii. P. Bocij, D. Chaffey, A. Greasley, S. Hickie, Business Information Systems: Technology, Development<br />
<strong>and</strong> Management for the E-Business, Prentice Hall, 2005.<br />
BSE 1205 Introduction to Internet Programming (4 CU)<br />
Course Description: This course covers ASP.NET development fundamentals, providing h<strong>and</strong>s-on experience<br />
through the building <strong>of</strong> a fully functional time <strong>and</strong> expense tracking application like TimeEx. Starting with an<br />
overview <strong>of</strong> server-side technologies, it then goes into the C# (C Sharp) programming language commonly used for<br />
ASP.NET <strong>and</strong> database development utilizing MSDE (Micros<strong>of</strong>t SQL Server Desktop Engine). Particular attention<br />
is given to techniques for integrating ASP.NET pages with the advanced client-side (DHTML) technologies covered<br />
first. The aims <strong>of</strong> this course are to: - To introduce students to the .Net development environment; To enable<br />
students apply core ASP.NET technologies to web application development; To teach students to write server-side<br />
ASP.NET code; To teach students to create web applications that use ADO.NET to interact with SQL Server; To<br />
enable the students master the integration <strong>of</strong> ASP.NET pages into DHTML driven pages.<br />
Indicative Content: ASP.NET development fundamentals; Server-side technologies; Interaction <strong>of</strong> web application<br />
with SQL Database; Integration <strong>of</strong> ASP.NET pages into advanced client-side technologies<br />
Reference Books:<br />
i. Z. Ruvalcaba, Build Your Own ASP.NET Web site Using C# & VB.NET, 1st edition, 2005.<br />
ii. P. J. Deite <strong>and</strong> H. M. Deitel, Internet &World WideWeb: How to Programme, Prentice Hall; 4th edition,<br />
2007.<br />
iii. S. Walther, ASP.NET Unleashed: unleashed, Sams Publishing, 2003.<br />
iv. K. Kalata, Internet Programming with VBScript <strong>and</strong> JavaScript (Web warrior series), Course Technology,<br />
1st edition, 2000.<br />
64
7.0 DEPARTMENT OF INFORMATION TECHNOLOGY<br />
7.1 Introduction<br />
The Department <strong>of</strong> Information Technology strives for the best through its mission:<br />
1. Teach academic Programmes that relate to the dynamic <strong>and</strong> changing needs <strong>of</strong> graduates in an information<br />
society<br />
2. Advancement <strong>of</strong> IT knowledge <strong>and</strong> application through state <strong>of</strong> the art research<br />
3. Support IT-based advancements in both the industry <strong>and</strong> society<br />
Established in 2005 as one <strong>of</strong> the four departments within the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology,<br />
the department <strong>of</strong> Information Technology is helping Makerere University to gain national height in the area <strong>of</strong><br />
Information Technology. This department has been in existence for four (4) years now. In the four years so far, we<br />
have tried to work towards exceeding all our expectations <strong>and</strong> accomplishments. Particularly, the students’<br />
achievements, the rising reputation <strong>of</strong> our department <strong>and</strong> the faculty at large as well as the thrilling partnerships we<br />
have made with the international academia, government <strong>and</strong> industry friends makes our pride.<br />
In the years that follow, <strong>and</strong> in relation to the Makerere University strategic plan (2008/09 – 2018/19), our<br />
department seeks to shift to the next level by focusing on our ability to make IT a fundamental part <strong>of</strong> the learning<br />
enterprise on the Makerere University campus. More so, we are collaborating with various academic <strong>and</strong> business<br />
world partners to effectively incorporate IT into diverse disciplines. To this end, we need your involvement in order<br />
to achieve our aims. As a department, our goal is to continuously build on our past four years’ achievements, at the<br />
same time continuously exp<strong>and</strong> our high-quality Programme that not only includes outst<strong>and</strong>ing department staff, a<br />
highly-developed curriculum, exceptional facilities, growing <strong>and</strong> recognized research, but also challenging students<br />
at different levels.<br />
The department <strong>of</strong>fers three degree Programmes <strong>and</strong> two diploma (ordinary <strong>and</strong> graduate) Programmes,<br />
respectively. These are: Bachelor <strong>of</strong> Information Technology (BIT), Masters in Information Technology (MIT) <strong>and</strong><br />
a PhD in Information Technology (PhD. IT), Diploma in Information Technology (DIT) <strong>and</strong> a Post Graduate<br />
Diploma in Information Technology (PGDIT). The department undertakes research in e-learning, multimedia<br />
technologies, <strong>and</strong> ICT for development in striving to exp<strong>and</strong> our national reputation. The IT department represents<br />
the joint efforts <strong>of</strong> the Makerere University, the private industry <strong>and</strong> Ug<strong>and</strong>a as a nation to address the growing<br />
worldwide needs for knowledgeable pr<strong>of</strong>essionals in the area <strong>of</strong> Information Technology.<br />
7.2 Bachelor <strong>of</strong> Information Technology (BIT) Degree Programme<br />
7.2.1 Overview<br />
The Bachelor <strong>of</strong> Information Technology (BIT) is a three year full-time degree programme open to all prospective<br />
students. This programme was first launched in August 2004. The programme <strong>of</strong>fers flexibility while providing the<br />
level <strong>of</strong> knowledge <strong>and</strong> skills required by industry <strong>and</strong> pr<strong>of</strong>essional bodies. The current curriculum was designed<br />
with emphasis on having the student acquire the business, media, computing <strong>and</strong> communication skills necessary for<br />
employment <strong>and</strong> career opportunities in today’s ICT industries <strong>and</strong> business organizations. Students on the BIT<br />
Degree Programme develop conceptual <strong>and</strong> practical IT skills in integrating financial, organisational, marketing <strong>and</strong><br />
65<br />
Dr. Josephine Nabukenya<br />
Head <strong>of</strong> Department
production/service function with an overall business strategy. The majority will take up Managerial positions in<br />
Information <strong>and</strong> Communication Technology (computing <strong>and</strong> ICT-based) sectors, <strong>and</strong> other positions such as Web-<br />
Designers, Web- Programmers, Information Technology Planners, Systems Analysts, IT Project Managers, IT<br />
Company Secretaries, Information Systems Specialists <strong>and</strong> IT Lecturers. Others will take up further studies in<br />
Information Technology like a Master <strong>of</strong> Information Technology (MIT).<br />
The Objectives <strong>of</strong> the Programme are to:<br />
a) Develop pr<strong>of</strong>essionals with theoretical <strong>and</strong> practical skills in the Information Technology (IT) sector.<br />
b) Address the increasing dem<strong>and</strong> for ICT training <strong>and</strong> pr<strong>of</strong>essionals.<br />
c) Strengthen capacity <strong>and</strong> institutional building in IT discipline in tertiary institutions, private <strong>and</strong> public<br />
sectors.<br />
The Bachelor <strong>of</strong> Information Technology Degree Programme is <strong>of</strong>fered to give an opportunity to prospective<br />
students to undertake training in Information Technology (IT). This programme also provides an avenue to those<br />
already engaged in the IT-sector without formal degree qualifications in IT to join the BIT Degree Programme<br />
through either direct or diploma schemes. Since Information Technology is a new discipline, this programme<br />
provides a pool <strong>of</strong> IT Pr<strong>of</strong>essionals that are much needed in today’s IT industry.<br />
1. Target Group<br />
The revised programme targets two categories <strong>of</strong> people, namely Direct Entry <strong>and</strong> Diploma Holders in relevant<br />
programmes.<br />
2. Minimum Admission Requirements<br />
a) Direct Entry<br />
A c<strong>and</strong>idate must satisfy the general admission requirements for Makerere University. In addition, the following<br />
regulations shall hold:<br />
i. The Ug<strong>and</strong>a Advanced Certificate <strong>of</strong> Education (UACE) or its equivalent with credits in English <strong>and</strong><br />
Mathematics.<br />
ii. At least two principal passes at the same sitting in Ug<strong>and</strong>a Advanced Certificate <strong>of</strong> Education (UACE)<br />
in any two subjects (Mathematics, Physics, Economics, Chemistry, Biology, Geography, Literature,<br />
Entrepreneurship, Technical Drawing <strong>and</strong> Fine Art).<br />
iii. For purposes <strong>of</strong> computing weighted points, the A- level subjects shall be grouped <strong>and</strong> weighted as follows:<br />
b) Diploma Holders<br />
Group Weight Subjects<br />
Essential 3 Any two best done subjects among: Mathematics, Physics,<br />
Economics, Chemistry, Biology, Geography, Literature,<br />
Entrepreneurship, Technical Drawing <strong>and</strong> Fine Art<br />
Relevant 2 Any other best done subject <strong>of</strong> all A’ level subjects<br />
Desirable 1 General Paper, Sub-Mathematics<br />
Others 0.5 All others.<br />
For a c<strong>and</strong>idate to be admitted via the diploma scheme, he/she must:<br />
i. At least any second Class (lower division) diploma from a recognized institution.<br />
ii. C<strong>and</strong>idates who hold a Diploma in Computer Science <strong>and</strong> Information Technology from Makerere University<br />
with at least second class (lower division) shall be admitted to second year <strong>of</strong> Bachelor <strong>of</strong> Information<br />
Technology. C<strong>and</strong>idates who hold a pass class <strong>of</strong> the same diploma shall be admitted to first year <strong>of</strong><br />
Bachelor <strong>of</strong> Information Technology.<br />
3. Nature <strong>of</strong> the Programme<br />
66
The day programme is both government <strong>and</strong> privately sponsored students. The evening Programme has privately<br />
sponsored students only.<br />
4. Duration<br />
The duration for the programme shall be three (3) academic years comprising <strong>of</strong> six (6) semesters <strong>and</strong> two recess<br />
terms. Each semester lasts seventeen (17) weeks to <strong>of</strong> which are for examinations.<br />
5. Tuition Fees<br />
Tuition fees for privately sponsored students shall be 2,520,000 Ug<strong>and</strong>a Shillings per year for Ug<strong>and</strong>ans <strong>and</strong><br />
3,780,000 Ug<strong>and</strong>a Shillings per year for non Ug<strong>and</strong>ans. This is the same tuition fees for the existing curriculum.<br />
6. Semester Load <strong>and</strong> Minimum Graduation Load<br />
The normal semester load is between 15 <strong>and</strong> 21 credit units. The minimum graduation load is 127 credit units<br />
<strong>of</strong> which 111 credit units are from core course units. The remaining 16 credit units are to be got from elective<br />
course units in semesters where elective courses are <strong>of</strong>fered.<br />
7.2.2 Programme Structure<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CU LH PH TH CH<br />
Semester 1<br />
CSK 1101 Communication Skills 4 45 30 -- 60<br />
CSC 1100 Computer Literacy 4 30 60 -- 60<br />
CSC 1106 Programming Methodology I 3 30 30 -- 45<br />
BIT 1102 Communications Technology & the Internet 3 45 -- -- 45<br />
BIT 1104 Information Technology I<br />
Semester 2<br />
CSC 1204 Research Methodology 3 30 -- 30 45<br />
CSC 1207 Programming Methodology II 4 30 60 -- 45<br />
BIT 1204 Information Management 4 45 30 -- 60<br />
BIS 1200 Information Systems in Business 3 45 -- -- 45<br />
BSE 1205 Introduction to Internet Programming 4 45 30 -- 60<br />
Year I Recess Term<br />
CSC 1301 Practical Skills Development 4 -- 120 -- 60<br />
CSC 1303 Cisco Certified Network Associate (Audited) 5 150 100 -- 200<br />
Semester 3<br />
CSC 2111 Database Management Systems I 3 30 30 -- 45<br />
BIT 2107 Web Systems <strong>and</strong> Technologies I 3 30 30 -- 45<br />
BIT 2108 Information Technology II 3 45 -- -- 45<br />
BIT 2109 Integrative Programming <strong>and</strong> Technologies 4 45 30 30 60<br />
Electives:- (1 elective course)<br />
BIT 2103 Electronic Commerce 3 45 -- -- 45<br />
BIT 2105 Electronic Media Systems <strong>and</strong> Multimedia 3 45 -- -- 45<br />
Semester 4<br />
BSE 2203 Computer Networks & Data Communication 4 45 30 -- 60<br />
CSC 2200 Operating Systems 4 45 -- 30 60<br />
BIT 2205 System Administration 3 30 -- 30 45<br />
CSC 2202 Systems Analysis & Design 4 45 -- 30 60<br />
Electives:- (1 elective course)<br />
67
BIT 2206 Pr<strong>of</strong>essional Law <strong>and</strong> Ethics 3 45 -- -- 45<br />
BIT 2201 Marketing in the IT Sector 3 45 -- -- 45<br />
Year 2 Recess Term<br />
BIT 2301 Industrial Training 4 -- 120 -- 60<br />
Semester 5<br />
BIT 3104 Business Communication <strong>and</strong> Report Writing 3 45 -- -- 45<br />
BIT 3105 Web Systems & Technologies II 3 30 30 -- 45<br />
BIT 3102 Entrepreneurship <strong>and</strong> Business 3 30 30 -- 45<br />
BIS 3102 Human Computer Interaction 3 30 -- 3- 45<br />
Electives: (1 elective course)<br />
BIT 3106 S<strong>of</strong>tware Engineering for Internet Applications 4 45 30 -- 60<br />
CSC 3103 User Interface Design 4 45 30 -- 60<br />
Semester 6<br />
BIT 3206 Information Assurance & Security 4 45 -- 30 60<br />
BIT 3207 System Integration & Architecture 4 45 -- 30 60<br />
BIT 3208 BIT Group Project 4 -- 120 -- 60<br />
Electives: (1 elective course)<br />
BIT 3203 Mobile Networks <strong>and</strong> <strong>Computing</strong> 4 45 -- 30 60<br />
BIT 3200 Business Intelligence & Data Warehousing 4 5 -- 30 60<br />
7.2.3 Course Unit Description<br />
CSC 1100 Computer Literacy (4 CU)<br />
Course Description: In this course, students are to learn about the basic organization, concepts <strong>and</strong> terminologies in<br />
a computerized environment. They are also to get an in depth underst<strong>and</strong>ing <strong>of</strong> common computer applications. The<br />
use <strong>of</strong> related applications in different operating systems will be explored. The aims <strong>of</strong> the course unit are to: Equip<br />
students with basic knowledge about computer organization; Equip students with skills <strong>of</strong> using common <strong>of</strong>fice<br />
applications; Expose students to different operating systems; Equip students with skills <strong>of</strong> how to use the Internet;<br />
<strong>and</strong> equip students with knowledge about common text editors in different operating systems. On completion <strong>of</strong> this<br />
course unit, the students will be able to: Describe the different parts <strong>of</strong> a computer; describe the historical evolution<br />
<strong>of</strong> computers; competently use the common <strong>of</strong>fice applications in at least two operating systems <strong>and</strong> competently<br />
use common text editor in at least two operating systems.<br />
Indicative Content: General computer organisation; Historical perspectives <strong>of</strong> computing; common Micros<strong>of</strong>t<br />
<strong>of</strong>fice packages; <strong>of</strong>fice packages in other operating systems; text editors; Common Linux <strong>and</strong> Using the web.<br />
Reference Books:<br />
i. J. Preston, R. Ferret <strong>and</strong> S. Gaskin, Computer Literacy, 2007.<br />
ii. J. Janrich <strong>and</strong> D. Oja, Practical Computer Literacy, 2001.<br />
CSK 1101 Communication Skills (4 CU)<br />
Course Description: This course provides students with skills <strong>of</strong> effective communication. These include verbal,<br />
written, <strong>and</strong> gesture. The course aims at facilitating students appropriately <strong>and</strong> clearly communicate with others. The<br />
aims <strong>of</strong> the course unit are to: Improve the communication competencies <strong>of</strong> the student; Improve problem solving<br />
strategies <strong>of</strong> students; improve the art <strong>of</strong> critical thinking within the student; improve the student’s ability to collect<br />
<strong>and</strong> synthesize information; provide students with knowledge to utilize the library <strong>and</strong> other educational resources.<br />
Indicative Content:<br />
• Writing Skills: Thinking critically/selectively before the writing process; selecting the relevant details;<br />
organizing the relevant details logically; writing the reports essays, letters <strong>and</strong> taking notes in appropriate<br />
68
egister; avoiding ambiguities, fallacies, irrationalities; providing supportive evidence; editing documents,<br />
pro<strong>of</strong> reading; writing <strong>and</strong> exp<strong>and</strong>ing information; Quoting <strong>and</strong> citing references; writing a curriculum<br />
vitae.<br />
• Reading Skills: The use <strong>of</strong> skimming; scanning inference <strong>and</strong> prediction in reading; Intensive <strong>and</strong> critical<br />
reading; Acquisition <strong>of</strong> specific reading skills; Interpretation <strong>of</strong> non linear texts; Locating information <strong>and</strong><br />
comprehension.<br />
• Speaking <strong>and</strong> Listening Skills to Enhance Effective Public Relations: The art <strong>of</strong> persuasion in effective<br />
speaking; Conducting interviews; Conducting meetings; Participating in group discussions <strong>and</strong> tutorials;<br />
Non verbal communication clues; Presentation seminars, seeking clarification etc.; Expression <strong>of</strong><br />
politeness; Public speaking; Proper listening skills.<br />
• Examination Skills; Preparing for examinations: How much one gets from group discussions; Proper<br />
revision; Underst<strong>and</strong>ing examination rubric; Budgeting time during examination process; Writing<br />
examinations <strong>and</strong> following instructions<br />
Reference Books<br />
i. B. Bough, 101 ways to improve your communication skills instantly, 4th Edition, 2005.<br />
ii. P. Klavs, The hard Truth About s<strong>of</strong>t skills: Work Place Lessons Smart People wish they had learned sooner,<br />
2008.<br />
BIT 1102 Communications Technology & Internet (3 CU)<br />
Course Description: This course is intended to be at the introductory level in a curriculum <strong>and</strong> to provide<br />
foundation skills for subsequent network-related courses, for example, Internet Programming. It provides an<br />
overview <strong>of</strong> Communications Technology <strong>and</strong> Internet. The goal is to help students underst<strong>and</strong> the role <strong>and</strong> meaning<br />
<strong>of</strong> Communications Technology <strong>and</strong> Internet in the contemporary world. The course aims to: Give students main<br />
guidelines for the future study <strong>of</strong> networks-related courses; Develop their knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> core<br />
networking concepts <strong>and</strong> technologies; Internet <strong>and</strong> intranet tools; basics <strong>of</strong> networking protocols; basics <strong>of</strong> network<br />
security; core Internet infrastructure; personal, business, social, legal <strong>and</strong> ethical implications <strong>of</strong> Internet governance<br />
Indicative Content: Networking Concepts; Internet <strong>and</strong> Intranet Tools; Protocols; Security; Internet; Infrastructure<br />
<strong>and</strong> Governance – Personal, Business, Social, Legal <strong>and</strong> Ethical; Implications<br />
Reference Books:<br />
i. D. E. Comer,The Internet Book, Prentice Hall Inc., Upper Saddle River, 2000.<br />
ii. D. Amor, Internet Future Strategies: How Pervasive <strong>Computing</strong> Services Will Change the World, Prentice<br />
Hall Inc., Upper Saddle River, 2002.<br />
iii. I. Zeid, Mastering the Internet <strong>and</strong> HTML, Prentice Hall Inc., Upper Saddle River, 2000.<br />
iv. Internet Getting Started, Editions ENI, Nantes, 2001.<br />
v. A. E. Grant, J. H. Meadows, Communication Technology Update <strong>and</strong> Fundamentals, Focal Press, 2008.<br />
vi. M. Mirabito, B. Morgenstern, The New Communications Technologies: Applications, Policy, <strong>and</strong> Impact,<br />
5th edition, Focal Press, 2004.<br />
vii. M. Mirabito, B. Morgenstern, L. Erlbaum, Communication Technology <strong>and</strong> Social Change: Theory <strong>and</strong><br />
Implications, Lea's Communication Series, 2006.<br />
BIT 1104 Information Technology I (3 CU)<br />
Course Description: This course is intended to be at the introductory level in a curriculum <strong>and</strong> to provide<br />
foundation skills for subsequent courses. Together with Information Technology II it provides an overview <strong>of</strong> the<br />
discipline <strong>of</strong> IT, <strong>and</strong> begins to instil an IT mindset. The goal is to help students underst<strong>and</strong> the diverse contexts in<br />
which IT is used <strong>and</strong> the challenges inherent in the diffusion <strong>of</strong> innovative technology.<br />
69
Indicative Content: User Centeredness <strong>and</strong> Advocacy; Information Assurance <strong>and</strong> Security; IT Systems Model;<br />
Management <strong>of</strong> Complexity (Abstraction, Modelling, best Practices, Patterns, St<strong>and</strong>ards, Use <strong>of</strong> Appropriate Tools);<br />
Adaptability; Pr<strong>of</strong>essionalism (Life-long Learning, Pr<strong>of</strong>essional Development, Ethics, Responsibility, Interpersonal<br />
Skills, Data versus Information).<br />
Reference Books:<br />
i. J. A. Senn, Information Technology: Principles, Practices, Opportunities, Pearson Education, 2003.<br />
ii. D. Cyganski, <strong>and</strong> J. A. Orr, Information Technology: Inside <strong>and</strong> Outside, Prentice Hall, 2001.<br />
iii. E. Turban, K. R. Rainer, <strong>and</strong> R. E. Porter, Introduction to Information Technology, Whiley <strong>and</strong> Sons Inc.,<br />
2007.<br />
iv. J. Baschab, J. Piot N. G Garr, The Executive's Guide to Information Technology, Whiley <strong>and</strong> Sons Inc.,<br />
2007.<br />
v. E. G. Walters, The Essential Guide to <strong>Computing</strong>: The Story <strong>of</strong> Information Technology, Prentice Hall Inc.,<br />
2000.<br />
vi. L. Snyder, Fluency with Information Technology: Skills, Concepts, <strong>and</strong> Capabilities, 3rd edition, Addison-<br />
Wesley, 2007.<br />
vii. B. Williams <strong>and</strong> S. Sawyer, Using Information Technology, Career Education, 2009.<br />
CSC 1106 Programming Methodology I (3 CU)<br />
Course Description: The course is to create a strong base in the principles <strong>and</strong> practice <strong>of</strong> functional programming.<br />
A high level programming language lie C is to be used. The students are to cover both theoretical principles <strong>and</strong><br />
h<strong>and</strong>s on practical skills. The main concepts to cover include Programme structure, data structures, syntactical <strong>and</strong><br />
semantic correctness, planning <strong>and</strong> segmentation in programming as well as working with data files. The aims <strong>of</strong> the<br />
course are to provide the student with: Comprehensive knowledge about structured oriented programming;<br />
Knowledge in planning <strong>and</strong> organization <strong>of</strong> programming projects; Knowledge <strong>and</strong> techniques <strong>of</strong> evaluating<br />
syntactic <strong>and</strong> semantic correctness <strong>of</strong> a computer Programme <strong>and</strong>; Strong practical basis in programming.<br />
Indicative Content: Programme structure; Variables <strong>and</strong> Operators; Conditional statements; Looping statements;<br />
Arrays <strong>and</strong> strings; Functions; Advanced data types; Pointers; Dynamic memory allocation <strong>and</strong> dynamic structures;<br />
Working with files <strong>and</strong> GUI.<br />
Reference Books:<br />
i. B. W. Kernighan <strong>and</strong> D. M. Ritchie, C Programming Language, 2nd edition, 1989.<br />
ii. S. P. Harbison, C: A Reference Manual, 5th edition, 2004.<br />
BIS 1200 Information Systems in Business (3 CU)<br />
Course Description: The course covers the integration <strong>of</strong> Information <strong>and</strong> Communication Technologies into<br />
organizations <strong>and</strong> their working practices, from design <strong>and</strong> implementation to strategic effects. Drawing on<br />
Information Systems (IS) <strong>and</strong> Management literature, the course <strong>of</strong>fers a chance for students to examine case studies<br />
<strong>of</strong> IS successes <strong>and</strong> failures <strong>and</strong> to explore ’real-world’ IS management issues.<br />
The course aims to provide students with knowledge for underst<strong>and</strong>ing the integration <strong>of</strong> business <strong>and</strong> technology<br />
resources to facilitate effective <strong>and</strong> efficient realization <strong>of</strong> an organization’s mission <strong>and</strong> objectives.<br />
Indicative Content: An information systems model: An Information System uses the resources <strong>of</strong> people,<br />
hardware, s<strong>of</strong>tware, data, <strong>and</strong> networks to perform input, processing, output, storage <strong>and</strong> control activities that<br />
covert data resources into information products; Role <strong>of</strong> Information Systems in an organization; the shift from data<br />
processing Systems via information Systems to knowledge-Based Systems; How information <strong>and</strong> knowledge add<br />
value to an organization; Information Systems Trends; the Information Technology component <strong>of</strong> Information<br />
Systems; Information Systems Engineering. Strategic planning: Organizational strategies <strong>and</strong> objectives; Human<br />
resource development: budgeting, costing, charging, hire versus buy decisions; Hardware <strong>and</strong> s<strong>of</strong>tware procurement:<br />
70
equest for proposal, evaluation, selection, contracting <strong>and</strong> maintenance; Security in computing: continuity <strong>of</strong><br />
processes, controls <strong>and</strong> planning for st<strong>and</strong>by; Computer audit; Project management: approaches, tools, site planning<br />
<strong>and</strong> installation.<br />
Reference Books:<br />
i. G. Curtis, Business Information Systems: Analysis, Design <strong>and</strong> Practice, 1995.<br />
ii. P. Bocij, D. Chaffey, A. Greasley, S. Hickie, Business Information Systems: Technology, Development <strong>and</strong><br />
Management for the E-Business, 2005.<br />
BIT 1204 Information Management (4 CU)<br />
Course Description: This course is important to the management, productivity <strong>and</strong> differentiation <strong>of</strong> an<br />
organization. Information is derived from data. This means that data must be efficiently collected, organized,<br />
retrieved <strong>and</strong> managed to make it meaningful to the organization. Thus, the development, deployment, management<br />
<strong>and</strong> integration <strong>of</strong> data <strong>and</strong> information systems to support the organization are a vital role <strong>of</strong> the IT pr<strong>of</strong>essional.<br />
Consequently, the knowledge area <strong>of</strong> Information Management should include the collection, organization,<br />
modelling, transformation, presentation, safety <strong>and</strong> security <strong>of</strong> the data <strong>and</strong> information. This course is aimed at<br />
giving students the skills needed to efficiently collect, organize, model, transform, present, <strong>and</strong> secure data <strong>and</strong><br />
information. Students will learn how to integrate information with Information Systems to make it meaningful to the<br />
Organization.<br />
Indicative Content:<br />
• Concepts <strong>and</strong> fundamentals <strong>of</strong> Information management. Information system: purpose, use <strong>and</strong> value;<br />
Properties <strong>of</strong> data (quality, accuracy, timelines); Database systems; Analysis <strong>of</strong> data, forms & sources;<br />
Data collection <strong>and</strong> retention; Information backup <strong>and</strong> recovery;<br />
• Database Query Languages; SQL data manipulation, data definition <strong>and</strong> performance tuning/optimization<br />
XQuery <strong>and</strong> Xpath; Reports; Query by example <strong>and</strong> by optimization.<br />
• Data Organization Architecture: Data models, Hierarchical, network <strong>and</strong> relational models; Object <strong>and</strong><br />
Object-relational databases; Logical, XML/XMI databases; Semantic <strong>and</strong> dimensional models; Star<br />
schema; Normalization <strong>and</strong> Data Integrity.<br />
• Data modelling: Conceptual, logical <strong>and</strong> physical models; Reengineering <strong>of</strong> Databases; St<strong>and</strong>ardized<br />
modeling in IDEF1, UML; CASE tools <strong>and</strong> data integration; Data Integration (data warehouses <strong>and</strong> data<br />
marts).<br />
• Managing the Database Environment: Data <strong>and</strong> Database administration; Distributed databases <strong>and</strong> patterns<br />
<strong>of</strong> distribution; Client server databases; N-tier architectures.<br />
• Special-purpose databases (text, multimedia Temporal, spatial, mobile, scientific/genomic); Decision<br />
support; Knowledge management <strong>and</strong> information retrieval (digital libraries)<br />
Reference Books:<br />
i. C. T., Begg C. Database Systems: A Practical Approach to Design, Implementation <strong>and</strong> Management.<br />
USA: Pearson Education Limited, 2002.<br />
ii. E. Turban., E. McLean <strong>and</strong> J. Wetherbe, Information Technology for Management: Making Connections<br />
for Strategic Advantage, John Wiley & Sons, Inc. 1998.<br />
CSC 1204 Research Methodology (3 CU)<br />
Course Description: The purpose <strong>of</strong> this course is to acquaint students with types <strong>of</strong> scientific research relevant for<br />
anyone working in the field <strong>of</strong> computer science. It will enable students to develop capacity to conduct small, simple<br />
research projects while at the university. The aims <strong>of</strong> the course are to provide the student with: Enable students<br />
become competent in underst<strong>and</strong>ing the research process. Provide skills that will enable students undertake<br />
independent research using a variety <strong>of</strong> appropriate methods, using primary <strong>and</strong> secondary data, as well as<br />
71
qualitative <strong>and</strong> quantitative techniques. Provide students with skills to produce a research proposal <strong>and</strong> highlight<br />
ethical research practices to students.<br />
Indicative Content: Introduction to scientific research; Formulating <strong>and</strong> clarifying the research topic <strong>and</strong> research<br />
problem; Conducting a literature review; Different research approaches; Ethics in research; Sampling; Use <strong>of</strong><br />
secondary data; Collection methods for primary data; Analyzing qualitative data; Analyzing quantitative data <strong>and</strong><br />
writing a research proposal <strong>and</strong> project report.<br />
Reference Books:<br />
i. H. Cooper, Synthesizing Research: A Guide for Literature Reviews, Thous<strong>and</strong> oaks, California: Sage<br />
Publications, 1998.<br />
ii. M. Sounders, P. Lewis, & A. Thornhill, Research Methods for Students , 3rd edition, UK, Financial times,<br />
Prentice hall, 2003.<br />
BSE 1205 Introduction to Internet Programming (4 CU)<br />
Course Description: This course covers ASP.NET development fundamentals, providing h<strong>and</strong>s-on experience<br />
through the building <strong>of</strong> a fully functional time <strong>and</strong> expense tracking application like TimeEx. Starting with an<br />
overview <strong>of</strong> server-side technologies, it then goes into the C# (C Sharp) programming language commonly used for<br />
ASP.NET <strong>and</strong> database development utilizing MSDE (Micros<strong>of</strong>t SQL Server Desktop Engine). Particular attention<br />
is given to techniques for integrating ASP.NET pages with the advanced client-side (DHTML) technologies covered<br />
first.<br />
Indicative Content: ASP.NET development fundamentals; Server-side technologies; Interaction <strong>of</strong> web application<br />
with SQL Database; Integration <strong>of</strong> ASP.NET pages into advanced client-side technologies<br />
Reference Books:<br />
i. Z. Ruvalcaba, Build Your Own ASP.NET Website Using C# &VB.NET, 1st edition, 2005.<br />
ii. P. J. Deite <strong>and</strong> H. M. Deitel, Internet & World Wide Web: How to Programme, Prentice Hall; 4th edition,<br />
2007.<br />
iii. S. Walther, ASP.NET Unleashed: unleashed, Sams Publishing, 2003.<br />
iv. K. Kalata, Internet Programming with VBScript <strong>and</strong> JavaScript (Web warrior series), Course Technology,<br />
1st edition, 2000.<br />
CSC 1207 Programming Methodology II (3 CU)<br />
Course Description: The course is to give an in depth underst<strong>and</strong>ing <strong>of</strong> Object Oriented programming. It is to cater<br />
for Object Oriented Programming practices like inheritance, interfaces, exception h<strong>and</strong>ling, action h<strong>and</strong>ling,<br />
security, s<strong>of</strong>tware reuse <strong>and</strong> robustness. The aim <strong>of</strong> the course is to: Move the students’ programming skills from<br />
basic to advanced; Avail students with skills to h<strong>and</strong>le non functional Programme aspects like robustness <strong>and</strong><br />
security <strong>and</strong> train students to develop complete computer applications.<br />
Indicative Content: The object oriented paradigm; Classes <strong>and</strong> objects; Inheritance <strong>and</strong> visibility modifiers;<br />
Interfaces <strong>and</strong> abstract classes; Graphical user interface <strong>and</strong> action h<strong>and</strong>lers; Exception h<strong>and</strong>ling; Working with<br />
files; Working with databases; Sessions <strong>and</strong> user management.<br />
Reference Books:<br />
i. J. Lewis <strong>and</strong> W. L<strong>of</strong>tus, Java S<strong>of</strong>tware Solution: Foundations <strong>of</strong> Programme Design 4th edition, 2008.<br />
ii. K. A. Mughal <strong>and</strong> R. W. Rasmussen, A Programmer’s Guide to JavaTM Certification: A Comprehensive<br />
Primer, 3rd edition, 2008.<br />
BIT 2103 Electronic Commerce (3 CU)<br />
72
Course Description: The course aims to provide students with the skills required to design, implement <strong>and</strong> evaluate<br />
robust ecommerce applications. The theory <strong>and</strong> application <strong>of</strong> electronic commerce solutions on the internet to<br />
improve business pr<strong>of</strong>it are presented. The techniques, tools <strong>and</strong> infrastructure required for on-line transactions are<br />
presented. The course includes a major group project, which draws on a wide range <strong>of</strong> skills <strong>of</strong> team members to set<br />
up an integrated electronic business. Issues such as business-to-business transactions are also covered.<br />
Indicative Content: Computerized trading systems, electronic funds transfer, automatic product identification <strong>and</strong><br />
bar code technology, electronic data interchange; the infrastructure <strong>of</strong> electronic commerce; electronic payment<br />
systems; Electronic commerce retailing <strong>and</strong> corporate finance; Intranets <strong>and</strong> supply chain management; remote<br />
banking, procurement <strong>and</strong> purchasing, online marketing <strong>and</strong> advertisement, home shopping, <strong>and</strong> auctions.<br />
Ecommerce security issues, transaction integrity <strong>and</strong> electronic payment systems are considered; <strong>and</strong> legal aspects <strong>of</strong><br />
ecommerce.<br />
Reference Books:<br />
i. J. F. Rayport <strong>and</strong> G. J. Jaworski, Introduction to e-Commerce, McGraw-Hill, 2002.<br />
ii. J. F. Rayport <strong>and</strong> G. J. Jaworski,. Cases in e-Commerce, McGraw-Hill, 2002.<br />
iii. E. Turban, et al., Electronic Commerce, a Managerial Perspective, Upper Saddle River, NJ; Pearson<br />
Prentice Hall, 2004.<br />
iv. G. P. Schneider, Electronic Commerce: The Second Wave, Boston MA Thompson Course Technology,<br />
2004.<br />
BIT 2105 Electronic Media Systems <strong>and</strong> Multimedia (3 CU)<br />
Course Description: This course provides a comprehensive overview <strong>of</strong> the various platforms, applications, media<br />
<strong>and</strong> technology used to develop digital media products <strong>and</strong> communications. This course will investigate the use <strong>of</strong><br />
several s<strong>of</strong>tware tools for multimedia production <strong>and</strong> the ways in which media components can be represented <strong>and</strong><br />
integrated into final multimedia production. The course aims at:- Introducing students to the concepts <strong>of</strong> electronic<br />
media, the systems there <strong>of</strong> <strong>and</strong> the general field <strong>of</strong> multimedia.<br />
Indicative Content: Introduction to digital graphics, photography, video, audio, networked multimedia <strong>and</strong><br />
authoring; Visual design skills: leading to Graphic Design <strong>and</strong> other major areas <strong>of</strong> Multimedia Production,<br />
including a variety <strong>of</strong> design techniques using specialist s<strong>of</strong>tware to design <strong>and</strong> manipulate images.<br />
Reference Books:<br />
i. R. Steinmetz <strong>and</strong> K. Nahrstedt, Multimedia Systems, Springer 2004.<br />
ii. Z- Nian Li <strong>and</strong> M. S. Drew, Fundamentals <strong>of</strong> Multimedia, Prentice Hall 2003.<br />
iii. R. Steinmetz <strong>and</strong> K. Nahrstedt, Multimedia Applications, Springer 2004.<br />
BIT 2107 Web Systems <strong>and</strong> Technologies I (3 CU)<br />
Course Description: This course aims to: Provide an underst<strong>and</strong>ing <strong>of</strong> the basics <strong>of</strong> the Internet, how it originated,<br />
how it works, <strong>and</strong> how to develop <strong>and</strong> maintain Web sites; Provide a basic underst<strong>and</strong>ing <strong>of</strong> Internet related<br />
technologies <strong>and</strong> introductory skills in Web applications. On completion <strong>of</strong> this course unit, the students will be able<br />
to: Have essential skills for website management; demonstrate underst<strong>and</strong>ing <strong>of</strong> the basic Internet technology<br />
concepts <strong>and</strong>; Develop a prototype <strong>of</strong> interactive World Wide Web applications.<br />
Indicative Content: HTML editors; website management tools such as FrontPage <strong>and</strong>/or Dream weaver; Basic<br />
Internet technologies such as DNS, email services, LDAP <strong>and</strong> the HTTP protocol; Introduction to tools <strong>and</strong><br />
techniques for specifying <strong>and</strong> prototyping interactive World Wide Web applications based on HTML. Web<br />
technologies: HTTP Protocol, Presentation abstractions, Web-markup <strong>and</strong> display languages.<br />
Reference Books:<br />
73
i. A. Homer, C. Ullman & S. Wright, Instant HTML Programmer’s Reference, Wrox, 1998.<br />
ii. H. M. Deitel, P. J. Deitel & T. R. Nieto, Internet & World Wide Web – How to Programme, Prentice Hall,<br />
2000.<br />
iii. H. M. Deitel, P. J. Deitel, T. R. Nieto, T. M. Lin & P. Sadhu , XML – How to Programme, Prentice Hall,<br />
2000.<br />
iv. Website:: www.W3schools.com<br />
BIT 2108 Information Technology II (3 CU)<br />
Course Description: A necessary pre-requisite for this course is Information Technology I. This course continues<br />
an overview <strong>of</strong> the discipline <strong>of</strong> IT, describes how it relates to other computing disciplines, <strong>and</strong> finally instills an IT<br />
mindset. The course aims at giving the students main guidelines for the future study <strong>of</strong> IT-related courses; Develop<br />
knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> the elements <strong>of</strong> a feasible IT application. On completion <strong>of</strong> this course unit,<br />
students will be able to: Develop knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> the elements <strong>of</strong> a feasible IT application; the<br />
extend <strong>and</strong> activities involved in an IT application; business processes; project management processes; integration<br />
processes; history <strong>of</strong> computing technology <strong>and</strong> Internet; impacts <strong>of</strong> computing <strong>and</strong> IT on society, communication<br />
<strong>and</strong> interaction, global processes; changes in human-computer interaction; the relationship between IT <strong>and</strong> other<br />
disciplines (computing <strong>and</strong> non-computing).<br />
Indicative Content:<br />
• Organizational Issues: How to introduce IT applications; Dissemination <strong>of</strong> innovation <strong>and</strong> change agency;<br />
Integration <strong>of</strong> processes; Business process redesign; Cost benefit analysis; Project Management<br />
• History <strong>of</strong> Information Technology: History <strong>of</strong> <strong>Computing</strong> Technology; Social History <strong>of</strong> <strong>Computing</strong><br />
Impacts; Development <strong>of</strong> User interaction; <strong>and</strong> History <strong>of</strong> the Internet<br />
• IT <strong>and</strong> Its Related <strong>and</strong> Informing Disciplines: Definition <strong>of</strong> IT; Computer Science; S<strong>of</strong>tware Engineering;<br />
Information Systems; Cognitive Science; Computer Engineering; Mathematics <strong>and</strong> Statistics; Natural<br />
Sciences, Linguistics, Sociology, Psychology, etc.<br />
• Application Domains: Bio-informatics & medical applications; Business applications; Law enforcement;<br />
Political processes; e-commerce; Manufacturing; Education; Entertainment; Agriculture etc.<br />
• Application <strong>of</strong> Math <strong>and</strong> Statistics to IT: Functions, relations, <strong>and</strong> sets; Data representations <strong>and</strong><br />
encryptions; Basic logic used in programming; Applications <strong>of</strong> probability tools in solving problems;<br />
Applications <strong>of</strong> statistical methods in solving problems<br />
Reference Books:<br />
i. J. A. Senn, Information Technology: Principles, Practices, Opportunities, Pearson Education, 2003.<br />
ii. D. Cyganski <strong>and</strong> J. A. Orr, Information Technology: Inside <strong>and</strong> Outside, Prentice Hall, 2001.<br />
iii. C. V. Brown, et al., Managing Information Technology, 6th Edition, Prentice Hall, 2008.<br />
iv. G. Reynolds, Ethics in Information Technology, Course Technology, 2006.<br />
v. K. Schwalbe, Information Technology Project Management, South-Western, Div <strong>of</strong> Thomson Learning,<br />
2009.<br />
BIT 2109 Integrative Programming <strong>and</strong> Technologies (4 CU)<br />
Course Description: The course content is based on open source s<strong>of</strong>tware such as PHP or closed source s<strong>of</strong>tware<br />
such Active Server Pages (ASP). The s<strong>of</strong>tware to use will depend on the lecturer giving the course. Active Server<br />
Pages (ASP) as a server side scripting architecture for building dynamic web applications, <strong>and</strong> an ideal environment<br />
for building web based commerce solutions. On completion <strong>of</strong> this course unit, the students will be able to:<br />
Programme in Java, C# <strong>and</strong> scripting languages such as JavaScript or PHP; Develop st<strong>and</strong>alone <strong>and</strong> internet<br />
applications using technologies such as xml <strong>and</strong> in popular frameworks such as ASP.NET; Create the necessary<br />
74
connections <strong>and</strong> scripts in order that one or more servers can share data from one or more data sources; Integrate<br />
databases which are dissimilar in structure, platform <strong>and</strong> DBMS.<br />
Indicative Content: HTML; Scripting languages; Server side scripting architecture <strong>and</strong> building dynamic web<br />
applications; Web development in any language, including Visual Basic, C++, <strong>and</strong> J++ programming; Integrative<br />
technologies e.g. XML technologies <strong>and</strong> protocols<br />
Reference Books:<br />
i. M. Wilson <strong>and</strong> T. Wilson, XML Programming with VB <strong>and</strong> ASP.<br />
ii. B. Brogden et al, Java Developers Guide to E-Commerce with XML <strong>and</strong> JSP.<br />
CSC 2111 Database Management Systems I (3 CU)<br />
Course Description: This course is to provide students with a strong foundation in systematic approaches to design<br />
<strong>and</strong> implementing <strong>of</strong> database applications. Preliminarily, operations like requirements gathering <strong>and</strong> database<br />
planning will be covered. The course will also introduce students to developing <strong>of</strong> application Programmes that talk<br />
to the database. These applications may be online or <strong>of</strong>fline. The aims <strong>of</strong> the course are to: Provide a background for<br />
the evolution <strong>of</strong> database (management) systems; Provide the students with the steps one has to go through when<br />
developing good database applications; Give h<strong>and</strong> on experience <strong>and</strong> knowledge in developing database (driven)<br />
applications<br />
Indicative Content: Background to databases; Evolution <strong>of</strong> database systems; Database organization <strong>and</strong><br />
architecture; Data base models; Over view <strong>of</strong> database application development; The database development life<br />
cycle; Database design; Conceptual design; Logical design; Physical Design; Querying databases; SQL/PL SQL<br />
<strong>and</strong> Scripting.<br />
Reference Books:<br />
i. T. Connolly <strong>and</strong> C. Begg, Database Solutions, 2nd Edition.<br />
CSC 2200 Operating Systems (3 CU)<br />
Course Description: This course introduces students to s<strong>of</strong>tware that controls hardware <strong>and</strong> makes the hardware<br />
usable. Its interaction with other computer devises <strong>and</strong> how it controls other computer processes is explored. The<br />
course aims to: Provide students with a detailed underst<strong>and</strong>ing <strong>of</strong> how operating systems work; Provide students<br />
with skills to write basic Programmes to utilize underlying operating system infrastructures. The dominant<br />
categories <strong>of</strong> operating systems are Windows <strong>and</strong> UNIX (Linux, Mac OS, Solaris, etc). On completion <strong>of</strong> this course<br />
unit, the students will be able to: Have a proper underst<strong>and</strong>ing <strong>of</strong> the differences between these two operating<br />
systems Underst<strong>and</strong> different design principles for operating systems <strong>and</strong> various s<strong>of</strong>tware tools that make operating<br />
systems usable.<br />
Indicative Content: Operating Systems Structures; Processes <strong>and</strong> threads; Thread creation, manipulation <strong>and</strong><br />
synchronization; Deadlock; Implementing Synchronization operations; CPU scheduling; Memory management; File<br />
systems <strong>and</strong> file system implementation; Monitors; Segments; Disk Scheduling; Networking; UDP <strong>and</strong> TCP.<br />
Reference Books:<br />
i. W. Stallings, Operating Systems: Internals <strong>and</strong> Design Principles, 4th edition, 2007.<br />
BIT 2201 Marketing in the IT Sector (3 CU)<br />
Course Description: A marketing orientation drives strategic decision-making in most companies today. The<br />
business press is constantly discussing the efforts <strong>of</strong> companies to get close to their customers or to meet their needs<br />
better than the competition. Indeed, it is impossible to underst<strong>and</strong> the current <strong>and</strong> potential financial success <strong>of</strong><br />
companies today without a thorough underst<strong>and</strong>ing <strong>of</strong> their target markets, customer relationships, product<br />
development skills, <strong>and</strong> competitive advantages <strong>and</strong> disadvantages. Marketing is all about creating <strong>and</strong> capturing<br />
value. By providing superior value to customers, companies enhance their own value. The marketing concept is so<br />
pervasive in companies that a marketing orientation extends well beyond the marketing department. Marketing has<br />
75
ecome everyone’s job. This course will enable students to apply marketing tools <strong>and</strong> concepts, whether you work<br />
in the marketing department or not.<br />
Indicative Content: Introduction to Marketing Strategy; Analyzing Buyer Behavior; Segmentation; Targeting, <strong>and</strong><br />
Positioning; Analyzing Competition; Strategy over the Product Life Cycle; Developing New Products; Advertising<br />
& Communication; Pricing; Sales Promotion; Channels <strong>of</strong> Distribution; Br<strong>and</strong>ing; Customer Relationship<br />
Management; The Internet as the Holy Grail <strong>of</strong> Marketing.<br />
Reference Books:<br />
i. W. G. Zikmund, R. Macleod, F. W. Gilbert, Customer Relationship Management: Integrating Marketing<br />
Strategy <strong>and</strong> Information Technology, John Wiley <strong>and</strong> Sons, 2002.<br />
ii. M. Samil, International Business <strong>and</strong> Information Technology: Interaction <strong>and</strong> Transformation in the<br />
Global Economy, Routledge, 2004.<br />
iii. B. Silverstein, Internet Marketing for Information Technology Companies: Proven Online Techniques That<br />
Increase Sales <strong>and</strong> Pr<strong>of</strong>its for Hardware, S<strong>of</strong>tware, <strong>and</strong> Networking Companies Maximum Press, 2001.<br />
iv. R. Kerin, S. Hartley, W. Rudelius, Marketing, McGraw-Hill/Irwin, 2008.<br />
v. W. M. Pride, O. C. Ferrell, Marketing, South-Western College Pub, 2007.<br />
vi. J. P. Peter <strong>and</strong> J. Donelly, Preface to Marketing Management, McGraw-Hill/Irwin, 2007.<br />
vii. P. Kotler, G. Armstrong, Principles <strong>of</strong> Marketing, Prentice Hall, 2007.<br />
viii. M. Butje, Product Marketing for Technology Companies, Butterworth -Heinemann, 2005.<br />
ix. E. Artech, Successful Marketing Strategy for High-Tech Firms, House Publishers, 2004.<br />
CSC 2202 Systems Analysis <strong>and</strong> Design (4 CU)<br />
Course Description: This course introduces established <strong>and</strong> evolving methodologies for the analysis <strong>and</strong> design <strong>of</strong><br />
an information system. Great emphasis is placed on system characteristics, managing projects, prototyping,<br />
CASE/OOM tools, systems development life cycle phases, the role <strong>of</strong> the systems analyst, systems selection,<br />
definition <strong>of</strong> systems requirements, feasibility analysis, system design, <strong>and</strong> system architecture are topics included.<br />
Upon completion, students should be able to analyze a problem <strong>and</strong> design an appropriate solution using a<br />
combination <strong>of</strong> tools <strong>and</strong> techniques.<br />
Indicative Content:<br />
• SAD Fundamentals: Introduction to IS & types <strong>of</strong> IS; Need for SAD & role <strong>of</strong> Analyst; SDLC & use <strong>of</strong><br />
CASE tools; Determining feasibility & mgt <strong>of</strong> SAD activities.<br />
• Information Requirements Analysis Information gathering (Interactive methods, unobtrusive methods,<br />
RAD, prototyping); Determining Systems requirements (types <strong>of</strong> requirements)<br />
• The Analysis Process: Structuring systems requirements (describing process specifications & structured<br />
decisions) Data modelling; Process modelling; Preparing System proposals.<br />
• The Design Process: Designing effective output; Designing effective input (Accurate Data entry<br />
Procedures); User Interface design; Database Design.<br />
• System Implementation: Quality Assurance through S<strong>of</strong>tware Engineering (design with structured charts,<br />
testing, maintenance, auditing, Quality mgt); Implementing Information Systems (user training, conversion<br />
strategies, systems evaluation<br />
• Project Management: Stages <strong>of</strong> system Development; Project planning; Estimation & Project Monitoring &<br />
Control<br />
• Introduction to Object-oriented Systems Analysis & Design using UML<br />
76
Reference Books:<br />
i. Kendall & Kendall, Systems Analysis <strong>and</strong> Design, 6th edition, Pearson Prentice Hall, 2005.<br />
ii. J. A. H<strong>of</strong>fer, , J. F. George <strong>and</strong> J. S. Valacich , Modern Systems Analysis <strong>and</strong> Design, 2nd edition,<br />
Addison-Wesley, 1999.<br />
BSE 2203 Computer Networks & Data Communication (4 CU)<br />
Course Description: This course will cover Introduction to Networks: definition, advantages, types, configurations;<br />
The OSI/ISO reference model; Transmission media: magnetic media, twisted pair, coaxial, fiber-optics; Data<br />
encoding: straight, Manchester, differential Manchester, satellite; Digital versus Analog transmission; Modems,<br />
modulation <strong>and</strong> their st<strong>and</strong>ards, codes <strong>and</strong> pulse code modulation; Integrated Services Digital Networks (ISDN);<br />
Network Access Protocols; Passive versus dynamic allocation; LAN<br />
st<strong>and</strong>ards: 802.3 (Ethernet), 802.4 (token bus), 802.5 (token ring); Computer Network security, Active <strong>and</strong> Passive<br />
Attacks; Network layer <strong>and</strong> Network layer protocols; Transport layer <strong>and</strong> Transport layer protocols. Furthermore,<br />
the course considers problems on each layer <strong>of</strong> a multilayered communication model, <strong>and</strong> describes some typical<br />
solutions to such problems. On completion <strong>of</strong> this course unit, the students will be able to: Master the terminology<br />
<strong>and</strong> concepts <strong>of</strong> the OSI reference model <strong>and</strong> the TCP/IP reference model; Master the concepts <strong>of</strong> protocols,<br />
network interfaces, <strong>and</strong> design/performance issues in local area networks <strong>and</strong> wide area networks; Demonstrate<br />
knowledge <strong>of</strong> wireless networking concepts; Appreciate contemporary issues in networking technologies <strong>and</strong><br />
demonstrate knowledge <strong>of</strong> network tools.<br />
Indicative Content: Network services <strong>and</strong> applications: DNS, HTTP, SMTP, peer-to peer systems; Network<br />
transport architectures, TCP, UDP, TCP congestion control; Routing <strong>and</strong> forwarding, intra-domain, inter-domain<br />
routing algorithms <strong>and</strong> Mobile IP; Link layers <strong>and</strong> local area networks, Ethernet, WiFi, <strong>and</strong> mobility; Multimedia<br />
communications <strong>and</strong> quality <strong>of</strong> service; Network measurement, inference, <strong>and</strong> management; Network security<br />
(ACL, IPSec, etc); Network programming; Network experimentation <strong>and</strong> performance analysis <strong>and</strong> Protocol<br />
verification.<br />
Reference Books:<br />
i. J. F. Kurose <strong>and</strong> K. W. Ross. Computer Networking - A Top down Approach Featuring the Internet, 3rd<br />
edition, Addison-Wesley.<br />
ii. L. Peterson <strong>and</strong> B. Davie, Computer Networks: A Systems Approach, Morgan Kauffmann Publishers, 3rd<br />
edition, 2003.<br />
BIT 2205 System Administration (3 CU)<br />
Course Description: This course addresses both the technology <strong>of</strong> computer systems <strong>and</strong> the users <strong>of</strong> the<br />
technology on an equal basis. It is about putting together a network <strong>of</strong> computers, getting them running <strong>and</strong> then<br />
keeping them running in spite <strong>of</strong> the activities <strong>of</strong> users who tend to cause the systems to fail. On completion <strong>of</strong> this<br />
course unit, the students will be able to: Demonstrate underst<strong>and</strong>ing <strong>of</strong> computer networking, computing models,<br />
<strong>and</strong> basic network services <strong>and</strong> plan, Install, Maintain <strong>and</strong> Run a Unix/Linux System as used in a TCP/IP networked<br />
environment.<br />
Indicative Content: Manage system resources including processes, memory <strong>and</strong> disk space; Maintain <strong>and</strong> interpret<br />
log files; Configure <strong>and</strong> manage a DNS service; Create <strong>and</strong> manage user accounts; Configure <strong>and</strong> manage an email<br />
system; Install <strong>and</strong> manage shared applications; Use shell scripts to automate procedures; Underst<strong>and</strong> <strong>and</strong> manage<br />
cross-platform file services; Underst<strong>and</strong> <strong>and</strong> manage Windows/Unix/Linux printing systems; Monitor, analyze <strong>and</strong><br />
tune system performance; Manage <strong>and</strong> configure virus protection strategies; Implement any other security measures;<br />
Perform system upgrades <strong>and</strong> version management; Perform system backup <strong>and</strong> recovery procedures<br />
77
Reference Books:<br />
i. M. Burgess, Principles <strong>of</strong> Network <strong>and</strong> System Administration, Published by Wiley <strong>and</strong> Sons, 2nd edition,<br />
2004.<br />
ii. www.tldp.org<br />
BIT 2206 Pr<strong>of</strong>essional Law <strong>and</strong> Ethics (2 CU)<br />
Course Description: A necessary pre-requisite for this course is Information Technology I. This course aims to<br />
develop in-depth knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> Computer Law <strong>and</strong> Ethics major issues; It provides the students<br />
with the survival legal kit necessary for their future carrier as IT pr<strong>of</strong>essionals <strong>and</strong> form an adoption <strong>of</strong> IT<br />
pr<strong>of</strong>essional ethics/code <strong>of</strong> conduct. The course provides a survival kit for IT graduates entering the work force. The<br />
course also considers computer ethical issues, such as information privacy, computer crime, computer terrorism,<br />
identity theft, ethical hacking etc. Each issue is analyzed in terms <strong>of</strong> the major ethical theories.<br />
Indicative Content:<br />
This course gives in-depth knowledge <strong>of</strong> computing law <strong>and</strong> ethics topics introduced earlier in pervasive themes <strong>of</strong><br />
Information Technology. It is intended for IT undergraduate students who generally have little (or none) work<br />
experience in the IT industry. First, the course considers the international <strong>and</strong> national legal frameworks related to<br />
IT. A variety <strong>of</strong> computer crimes as far as responsibility for committing such crimes are discussed. Other issues<br />
include legal protection <strong>of</strong> IT development - non-disclosure agreements, employment contracts, intellectual property<br />
law (copyright, patent, licensing, <strong>and</strong> royalties), trademarks <strong>and</strong> warranty disclaimers.<br />
Reference Books:<br />
i. J. M. Kizza, Ethical <strong>and</strong> Social Issues in the Informational Age, 2nd edition, Springer- Verlag, New York,<br />
Inc. 2003.<br />
ii. P. Quirk, J. Forder, Electronic Commerce <strong>and</strong> The Law. 2nd edition. John Wiley & Sons, Australia, 2003.<br />
iii. E. Lawrence, B. Corbitt, J. Fisher, J. Lawrence, A. Tidwell, Internet Commerce-Digital Models for<br />
Business, 2nd edition, John Wiley <strong>and</strong> Sons Australia 2000.<br />
iv. D. G. Johnson, Computer Ethics, Prentice Hall, 2nd edition, 1994.<br />
v. P. Knight <strong>and</strong> J. Fitzsimmons,The Legal Environment <strong>of</strong> <strong>Computing</strong>, Addison- Wesley, 1990.<br />
BIT 2301: Industrial Training (4 CU)<br />
Course Description: The students shall acquire h<strong>and</strong>s on training in maintenance, servicing <strong>and</strong> troubleshooting,<br />
<strong>and</strong> training in computer skills <strong>and</strong> applications. Hardware maintenance; Practicals; On job training; Report writing.<br />
BIT 3102 Entrepreneurship <strong>and</strong> Business (3 CU)<br />
Course Description: This course <strong>of</strong>fers an overview <strong>of</strong> the entrepreneurial process. Students will develop a<br />
business plan using their own business idea. They will learn skills <strong>and</strong> characteristics <strong>of</strong> successful entrepreneurs,<br />
techniques for evaluating business opportunities, planning tools, selling <strong>and</strong> marketing basics, financial analysis,<br />
record keeping, laws <strong>and</strong> regulations <strong>of</strong> Ug<strong>and</strong>a, <strong>and</strong> step by step procedures for starting a small business.<br />
Indicative Content:<br />
• Identification <strong>of</strong> talents <strong>and</strong> skills required to be a successful entrepreneur; Personal talents; Technical<br />
skills; Educational background<br />
• Overview <strong>of</strong> business opportunities: Trade association reports; Government reports; Demographic<br />
information <strong>and</strong> Surveys.<br />
• Business entry strategies: Steps in starting a business; Purpose <strong>of</strong> business; Description <strong>of</strong> business;<br />
Starting a business versus buying a business<br />
• Planning: Setting goals; Operational approach.<br />
78
• Laws <strong>and</strong> regulations affecting a small business in Ug<strong>and</strong>a: CAP <strong>and</strong> Local bye laws<br />
• Sources <strong>of</strong> information <strong>and</strong> assistance; Trade association <strong>and</strong> other non-governmental sources; Local, state,<br />
<strong>and</strong> federal governmental sources; Small business analysis<br />
• Description <strong>of</strong> a comprehensive business plan; Reason for preparing a business plan; Types <strong>of</strong> business<br />
plans; Form <strong>of</strong> business plan; Contents <strong>of</strong> a successful business plan.<br />
• Outline <strong>of</strong> a business plan: Preparation <strong>of</strong> an executive summary; Establishment <strong>of</strong> company strategy;<br />
Development <strong>of</strong> a marketing plan; Sales strategy; financial plan.<br />
• Completion <strong>of</strong> the business plan; Writing the plan; Outside review <strong>of</strong> the plan.<br />
• Social <strong>and</strong> Ethical Responsibility<br />
Reference Books:<br />
i. B. R. Barringer & R. D. Irel<strong>and</strong>, Entrepreneurship: Successfully Launching New ventures. Published by<br />
Pearson-Prentice Hall. 1st edition, 2006.<br />
ii. T. W. Zimmerer <strong>and</strong> N. M. Scarborough, Essentials <strong>of</strong> Entrepreneurship <strong>and</strong> Small Business Management.<br />
4th edition, 2005.<br />
BIS 3102 Human Computer Interaction (3 CU)<br />
Course Description: This course covers: Introduction to the interdisciplinary area <strong>of</strong> Human Computer Interaction<br />
(HCI); the underlying principles <strong>of</strong> psychology, computer science <strong>and</strong> ergonomics that influence theory <strong>and</strong> practice<br />
<strong>of</strong> HCI design <strong>and</strong> usage; specific topics will include: models <strong>of</strong> human information processing, organizational<br />
structures <strong>and</strong> socio-technical approaches to information system design; design principles for dialogue management;<br />
issues <strong>of</strong> systems user-ability; hypertext; natural language processing; virtual reality <strong>and</strong> multimedia applications.<br />
The course aims to provide students with knowledge <strong>and</strong> skills in human factors with respect to interactive s<strong>of</strong>tware,<br />
characteristics <strong>of</strong> design processes, principles <strong>and</strong> guidelines <strong>of</strong> interface design, virtual environments with respect<br />
to interfaces, corporate <strong>and</strong> business aspects <strong>of</strong> human computer interaction, interface aspects <strong>of</strong> response times <strong>and</strong><br />
presentation, interaction devices.<br />
Indicative Content: Conceptual systems models; Interface design <strong>and</strong> evaluation; Systems engineering <strong>and</strong> systems<br />
design factors; Assessments; S<strong>of</strong>tware tools; Virtual environments; Menus <strong>and</strong> dialogues; Comm<strong>and</strong> <strong>and</strong> natural<br />
languages; Interface devices; Response times; Complexity; Information attributes; Human factors <strong>and</strong> attributes;<br />
Tasks; Cognitive modelling; Function mapping; Hypermedia; Societal considerations <strong>and</strong> ethics <strong>and</strong> Internet/web<br />
considerations<br />
Reference Books:<br />
i. A. Dix, J. Finlay, G. Abowd, R. Beale, Human Computer Interaction, 2nd edition, Prentice Hall, 1997.<br />
ii. A. Sears <strong>and</strong> J. A. Jacko, The Human – Computer Interaction <strong>H<strong>and</strong>book</strong>, 2008.<br />
iii. H. Sharp, Y. Rodgers <strong>and</strong> J. Preece, Interaction Design: Beyond Human Computer Interaction, John<br />
Wiley & Sons; 2nd edition, 2007.<br />
CSC 3103 User Interface Design (4 CU)<br />
Course Description: The course introduces the principles <strong>of</strong> user interface development, focusing on design,<br />
implementation <strong>and</strong> evaluation. The course aims at providing the skills listed below to students: Developing<br />
efficient, flexible <strong>and</strong> interactive User Interfaces (UI); Provide ability to identifying system users, the tasks they<br />
want to carry out <strong>and</strong> the environment in which they will be working; Creating conceptual designs; Designing<br />
various kinds <strong>of</strong> UI, in particular graphical user interfaces (GUIs) <strong>and</strong> websites; evaluating UIs; Appreciation <strong>of</strong><br />
realities <strong>of</strong> developing usable UIs in an organization.<br />
Indicative Content: Usability; User-Centered Design; UI S<strong>of</strong>tware Architecture; Human Capabilities; Output<br />
Models; Conceptual Models <strong>and</strong> Metaphors; Input Models; Design Principles; Paper Prototyping; Constraints <strong>and</strong><br />
79
Layouts; Graphic Design; Computer Prototyping; Heuristic Evaluation; User Testing; Experiment Design <strong>and</strong><br />
Experiment Analysis.<br />
Reference Books:<br />
i. D. A. Norman, The Design <strong>of</strong> Everyday Things, New York, NY: Doubleday, 1990.<br />
ii. J. Nielsen, Usability Engineering. Burlington, MA: Academic Press, 1994.<br />
iii. K. Mullet <strong>and</strong> D. Sano, Designing Visual Interfaces: Communication Oriented Techniques. Upper Saddle<br />
River, NJ: Prentice Hall, 1994.<br />
BIT 3104 Business Communication <strong>and</strong> Report Writing (3CU)<br />
Course Description: Information oils the wheels <strong>of</strong> an organization! Communication enables the organizational<br />
development <strong>and</strong> growth in all its aspects. Communication is becoming a critical factor to organizational growth <strong>and</strong><br />
development. It is also a fact that governments <strong>and</strong> organizations that effectively communicate tend to succeed in<br />
achieving their intentions. This course is designed to exp<strong>and</strong> your knowledge <strong>of</strong> Business communication <strong>and</strong> to<br />
hone your communication skills. In particular the course will particularly pay close attention to developing<br />
purposive, clear, concise, communication styles <strong>and</strong> sensitivity to various audiences’ needs <strong>and</strong> interests.<br />
Indicative Content:<br />
Overview <strong>of</strong> communications; definitions, processes; <strong>and</strong> types; New technologies <strong>and</strong> communication, Noise <strong>and</strong><br />
Barriers to effective communication; Underst<strong>and</strong>ing the Business set up <strong>and</strong> processes; Principles <strong>of</strong> Effective<br />
Communication; Planning <strong>and</strong> Writing Effective Messages; Preparing <strong>and</strong> Producing Newsletters; Effective Report<br />
Writing for Business Organizations; Backgrounders & Position Papers; Effective Oral Presentations; Holding<br />
Successful Business Meetings; Opinion Articles (Op-Ed) & Letters to the Editor; Communicating via the Web;<br />
Crisis Communication; Inter-Cultural Communication; Communication Ethic; Communicating in a Team<br />
Environment.<br />
Reference Books:<br />
i. C. L. Bovee, J. V. Thill, B. E. Schatzman, Business Communication Today, 7th edition. New Dehli:<br />
Pearson Education, 2003.<br />
ii. H. A. Murphy, H. W. Hilderbr<strong>and</strong>t & J. P. Thomas, Effective Business Communications. Boston, MA:<br />
Irwin/McGraw-Hill, 1997.<br />
BIT 3105 Web Systems <strong>and</strong> Technologies II (3 CU)<br />
Course Description: This course reviews some <strong>of</strong> the more advanced features <strong>of</strong> the Internet <strong>and</strong> electronic. This<br />
unit provides the principles <strong>and</strong> skills <strong>of</strong> web application development. It arms students with current web<br />
programming technology <strong>and</strong> the skills for developing web oriented applications. Topics covered are web<br />
development, from a web page to a web site, types <strong>of</strong> servers <strong>and</strong> architectures for web sites.<br />
Indicative Content: Web development approaches <strong>and</strong> architectures; Security, performance, scalability, <strong>and</strong><br />
maintainability <strong>of</strong> the different web development approaches; Web-enabled databases; Dynamic web pages for B2C<br />
<strong>and</strong> B2B sites; Web security <strong>and</strong> legal issues; Projects will be prototype business systems which include dynamic<br />
database access; Graphical design issues; Client-side programming <strong>and</strong> server-side programming; Web services <strong>and</strong><br />
servers; Emerging technologies; St<strong>and</strong>ards <strong>and</strong> St<strong>and</strong>ard Bodies; Web information architecture.<br />
Reference Books:<br />
i. A. Homer, C. Ullman & S. Wright; Instant HTML Programmer’s Reference, Wrox, 1998.<br />
ii. H. M. Deitel, P. J. Deitel & T. R. Nieto, Internet & World Wide Web – How to Programme, Prentice Hall,<br />
2000.<br />
iii. P. J. Deitel, T. R. Nieto, T. M. Lin, H. M. Deitel, & P. Sadhu, XML – How to Programme, Prentice Hall,<br />
2000.<br />
iv. Website: www.W3schools.com.<br />
80
BIT 3106 S<strong>of</strong>tware Engineering for Internet Applications (4 CU)<br />
Course Description: This course unit shall cover challenges <strong>of</strong> concurrency (say 1000 people might be using the<br />
system at the same time), unpredictable load (say 100,000 users might show up tomorrow even if only 100 are using<br />
the system today), security risks, opportunity for wide-area distributed computing, creating a reliable <strong>and</strong> state-full<br />
user experience on top <strong>of</strong> unreliable connections <strong>and</strong> stateless protocols, extreme requirements <strong>and</strong> absurd<br />
development schedules , requirements that change mid-way through a project, sometimes because <strong>of</strong> experience<br />
gained from testing with users, user dem<strong>and</strong>s for a multi-modal interface: Web, mobile (WAP), <strong>and</strong> voice. Modern<br />
internet applications exhibit a form <strong>of</strong> online community in which customers are an integral part <strong>of</strong> the system.<br />
Indicative Content: This is a course for students who already have some programming experience; Basics<br />
(Stateless vs. State-full), planning for Internet applications, s<strong>of</strong>tware structure; User registration <strong>and</strong> Management,<br />
Content Management; S<strong>of</strong>tware modularity, Discussion boards, adding mobile users to the community; Voice<br />
(VoiceXML), Scaling Gracefully, Search, <strong>and</strong> distributed computing with HTTP, SOAP, <strong>and</strong> WSDL.<br />
Reference Books:<br />
i. E. Andersson, P. Greenspun, <strong>and</strong> A. Grumet, S<strong>of</strong>tware Engineering for Internet Applications, MIT Press,<br />
2006.<br />
BIT 3200 Business Intelligence <strong>and</strong> Data Warehousing (4 CU)<br />
Course Description: This course introduces the student on how companies can build data warehouses <strong>and</strong> utilize<br />
business intelligence for decision-making hence saving money <strong>and</strong> increasing pr<strong>of</strong>it. Several, initiatives ranging<br />
from supply chain integration to compliance with organizational/government-m<strong>and</strong>ated reporting requirements<br />
depend on well designed data warehouse architecture. Therefore the course introduces you to the main components<br />
<strong>of</strong> a data warehouse for business intelligence applications. This will include how a data warehouse fits into the<br />
overall strategy <strong>of</strong> a complex enterprise, how to develop data models, data mats useful for business intelligence, <strong>and</strong><br />
how to combine data from disparate sources into a single database that comprises the core <strong>of</strong> your data warehouse.<br />
The course will also explore how to define <strong>and</strong> specify useful management reports from warehouse data.<br />
Indicative content: Data warehouse concepts: partitioning, granularity, record <strong>of</strong> source, <strong>and</strong> metadata; Building<br />
viable decision support environments; Architect development; Data migration <strong>and</strong> integration; Use <strong>of</strong> operational<br />
data stores, <strong>and</strong> transactional systems.<br />
Reference books:<br />
i. P. Ponniah, Data Warehousing Fundamentals, 2001.<br />
BIT 3203 Mobile Networks <strong>and</strong> <strong>Computing</strong> (4 CU)<br />
Course Description: This course examines principles, design, implementation, <strong>and</strong> performance <strong>of</strong> mobile<br />
computing <strong>and</strong> wireless networking. The aim is to lay a foundation in the student's underst<strong>and</strong>ing <strong>and</strong> skills in<br />
mobile computing <strong>and</strong> wireless networking st<strong>and</strong>ards, technologies, application <strong>and</strong> services. Ideally the course is an<br />
integration <strong>of</strong> Wireless Networking <strong>and</strong> Mobile <strong>Computing</strong>. Subjects <strong>of</strong> study under Mobile Networking will<br />
include; Wireless Network technologies (including GSM/GPRS/3G & Wireless LANs), Convergence networks,<br />
NextGen, Mobile IP, wireless ATM, Wireless Ad Hoc Networks <strong>and</strong> Bluetooth; While subjects <strong>of</strong> discussion under<br />
Mobile <strong>Computing</strong> will include; Mobile <strong>Computing</strong> Architectures (including SMS/SIM, WAP, I-mode <strong>and</strong><br />
J2ME/J2EE), mobile OS (e.g., Android) <strong>and</strong> Mobile Application Development including location–based services.<br />
The aims <strong>of</strong> the course include: to introduce students to the theory <strong>and</strong> practice <strong>of</strong> Mobile networking <strong>and</strong><br />
computing.<br />
Indicative Content: Knowledge in the following (Computer Networking; Programming Principles, <strong>and</strong> Java );<br />
Introduction to mobile computing <strong>and</strong> wireless networking principles; The Blue Tooth <strong>and</strong> Zigbee short range<br />
wireless technologies; The Wi-Fi Technologies; Introduction to GSM/GPRS/3G/3GPP; The Mobile IP technology;<br />
Wireless ATM technology; Introduction to Mobile application development; Introduction to J2ME <strong>and</strong> J2EE<br />
platforms; underst<strong>and</strong>ing mobile computing architectures (I-mode, SMS <strong>and</strong> WAP) <strong>and</strong> introduction to GSM<br />
gateways e.g. Kannel<br />
81
Reference Books:<br />
i. J. Schiller, Mobile Communications, Addison-Wesley, 2000.<br />
ii. M. Beaulieu, Wireless Internet Applications & Architectures: Building Pr<strong>of</strong>essional Wireless Applications<br />
Worldwide, Addison-Wesley, 2002.<br />
iii. Q. H. Mahmoud, Learning – Wireless Java, O’Reilly, 2002.<br />
iv. T. Imielinski <strong>and</strong> H. K. Kluwer, Introduction to Mobile <strong>Computing</strong> in Mobile <strong>Computing</strong>, Academic<br />
Publishers, 1996.<br />
v. J. W. Muchow, Core J2ME, Technology & MIDP, Prentice-Hall, 2002.<br />
vi. S. Allamaraju, Pr<strong>of</strong>essional Java Server Programming J2EE 1, 3rd edition, Wrox Press Ltd, 2001.<br />
vii. S. Mann, Programming Applications with Wireless Application Protocol, John Wiley & Sons, Inc., 2000.<br />
viii. S. B. Guthery <strong>and</strong> M. J. Cronin, Mobile Application Development with SMS <strong>and</strong> The SIM Toolkit,<br />
McGraw-Hill TELECOM, 2000.<br />
ix. N. Rhodes & J. McKeehan, Palm Programming: The Developer’s Guide, O’Reilly, 1999.<br />
x. M. Hapner, Java Message Service API Tutorial <strong>and</strong> Reference – Messaging for the J2EE Platform, Sun<br />
Microsystems, 2002.<br />
BIT 3206 Information Assurance <strong>and</strong> Security (4 CU)<br />
Course Description: This course will <strong>of</strong>fer the students a holistic overview to security issues pertinent in an<br />
enterprise. The course will specifically tackle Security mechanisms, Operational issues, Policy, Attacks, Security<br />
Domains, Forensics, Information States, Security Services, threat analysis model, Vulnerabilities. The course will<br />
also present introductory aspects on confidentiality, integrity, authentication, non-repudiation, intrusion detection,<br />
physical security, <strong>and</strong> encryption. A student completing this course will be<br />
expected to have a good underst<strong>and</strong>ing <strong>of</strong> the information assurance issues <strong>of</strong> an Enterprise. This course aims at:<br />
Introducing students to the concepts <strong>of</strong> Information Assurance <strong>and</strong> how to secure such information using appropriate<br />
systems <strong>and</strong> technologies.<br />
Indicative Content: Security mechanisms; Operational issues; Policy Attacks; Security Domains; Forensics;<br />
Information States; Security Services; Threat analysis model; Vulnerabilities; Introduction: confidentiality,<br />
integrity, authentication, non-repudiation, intrusion detection, physical security, <strong>and</strong> encryption.<br />
Reference Books:<br />
i. Nestler, A. Conklin, G. White <strong>and</strong> M. Hirsch, Computer Security Lab Manual (Information Assurance &<br />
Security), Career Education, 2005.<br />
ii. C. P. Pfleeger <strong>and</strong> S. L. Pfleeger, Security in <strong>Computing</strong>, 4th edition, Prentice Hall 2006.<br />
BIT 3207 System Integration <strong>and</strong> Architecture (4 CU)<br />
Course Description: This course is designed to provide students with an underst<strong>and</strong>ing <strong>of</strong> Systems Integration (SI)<br />
process, approaches, drivers, tools <strong>and</strong> techniques required for successful SI, critical success factors, <strong>and</strong> best<br />
practices. The course focuses on how a proposed system will be integrated with other existing or planned systems. It<br />
addresses the System Integration problem using architectures as the basis <strong>and</strong> then addresses the evaluation <strong>of</strong> the<br />
architectures in terms <strong>of</strong> the capabilities they provide. Case studies <strong>and</strong> examples from the Information Technology<br />
(IT), energy, <strong>and</strong> financial services industry will be used to illustrate the concepts discussed.<br />
Indicative Content:<br />
• The System <strong>of</strong> Systems Integration Problem – Human, Organizational, Societal Cultural, Economic, <strong>and</strong><br />
Technological aspects; Processes, approaches, drivers, tools <strong>and</strong> techniques required for successful SI, critical<br />
success factors, <strong>and</strong> best practices in Systems Integration; The Role <strong>of</strong> Architectures in Systems Integration;<br />
Integration in a System <strong>of</strong> Systems <strong>and</strong> a Federation <strong>of</strong> Systems; Model Based Architecture, Design, <strong>and</strong><br />
Integration; Systems <strong>of</strong> Systems Interoperability; Evaluation <strong>of</strong> architectures; Measures <strong>of</strong> Performance <strong>and</strong><br />
82
Effectiveness; Assessment <strong>of</strong> System Capabilities; Analysis <strong>of</strong> Alternatives; Case studies <strong>and</strong> examples from the<br />
Information Technology (IT), energy, <strong>and</strong> financial services industry to illustrate the concepts discussed.<br />
• The theory <strong>and</strong> practice <strong>of</strong> business process integration, legacy integration, new systems integration, business-tobusiness<br />
integration, integration <strong>of</strong> commercial-<strong>of</strong>f-the-shelf (COTS) products, interface control <strong>and</strong> management,<br />
testing, integrated Programme management, integrated Business Continuity Planning (BCP). Specific focus will be<br />
given to issues <strong>of</strong> interface integration <strong>and</strong> interoperability <strong>of</strong> systems.<br />
Reference Book:<br />
i. A. P. Sage <strong>and</strong> W. B. Rouse, <strong>H<strong>and</strong>book</strong> <strong>of</strong> Systems Engineering <strong>and</strong> Management, John Wiley & Sons,<br />
1999.<br />
BIT 3208 BIT Group Project (4 CU)<br />
Course Description: To give the student experience in developing independent skills <strong>and</strong> implementing non-trivial<br />
information technology research projects. Each student will pursue a lengthy project in any area <strong>of</strong> information<br />
technology. The project will be specified, designed <strong>and</strong> implemented, with one <strong>of</strong> the Pr<strong>of</strong>essors / lecturers as<br />
advisor /supervisor.<br />
83
8.0 DEPARTMENT OF INFORMATION SYSTEMS<br />
8.1 Introduction<br />
The Information System (IS) Department is one <strong>of</strong> the four academic departments at the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong><br />
<strong>Informatics</strong> Technology. The department provides both undergraduate <strong>and</strong> postgraduate courses. Some areas <strong>of</strong><br />
the study <strong>and</strong> research in IS include System Analysis <strong>and</strong> Design, Data warehouses, Databases, Health <strong>Informatics</strong>,<br />
Management Information Systems <strong>and</strong> Decision Support Systems. These provide students with a thorough<br />
knowledge <strong>of</strong> the field thus providing an enduring foundation for future pr<strong>of</strong>essional growth. Information Systems<br />
students learn to become problem solvers in organizations, institutions, the economy <strong>and</strong> society. The department<br />
currently has two dynamic research groups namely: Simulation <strong>and</strong> Modelling Group <strong>and</strong> Visualization group.<br />
The department has 15 full time academic staff <strong>and</strong> a diverse collection <strong>of</strong> part time faculty to support the teaching<br />
needs for the Information Systems student community. Administrative staff members supervised by the Head <strong>of</strong><br />
Department ensure the smooth functioning <strong>of</strong> the department’s operations. Information systems specialists focus on<br />
integrating information technology solutions <strong>and</strong> business processes to meet the information needs <strong>of</strong> businesses <strong>and</strong><br />
other enterprises, enabling them to achieve their objectives in an effective, efficient way. This discipline’s<br />
perspective on information technology emphasizes information, <strong>and</strong> views technology as an instrument for<br />
generating, processing, <strong>and</strong> distributing information. Pr<strong>of</strong>essionals in the discipline are primarily concerned with the<br />
information that computer systems can provide to aid an enterprise in defining <strong>and</strong> achieving its goals, <strong>and</strong> the<br />
processes that an enterprise can implement or improve using information technology. They must underst<strong>and</strong> both<br />
technical <strong>and</strong> organizational factors, <strong>and</strong> they must be able to help an organization determine how information <strong>and</strong><br />
technology-enabled business processes can provide a competitive advantage.<br />
The department has a reputation for good teaching in a friendly environment. We have an active research<br />
programme <strong>and</strong> our staff <strong>and</strong> research students collaborate with other universities <strong>and</strong> industry around the world.<br />
Our main research specialties are in Geographical Information Systems, Information Visualization, Systematic<br />
Dynamics Modelling, <strong>and</strong> Simulation in Support for Decision Making <strong>and</strong> Health <strong>Informatics</strong>. Information System<br />
(IS) graduates are perfectly placed to adapt their careers to the evolving workplace <strong>and</strong> new career opportunities.<br />
Some <strong>of</strong> the roles IS graduates are able to fill include: Business analyst, Network analyst, Intelligence/threat analyst<br />
for top government organization, Web developer, Creative Internet campaigner, Systems designer/engineer, Ecommerce<br />
project <strong>of</strong>ficer, Assistive technology designer, Technical support analyst, Bioinformatics analyst, Change<br />
<strong>and</strong> transition manager, IS security auditor, Information Systems Project manager, Information Systems consultant,<br />
Database administrator, Analyst programmer, Development manager, Technical research <strong>of</strong>ficer, Business systems<br />
consultant <strong>and</strong> IS manager.<br />
8.2 Bachelor <strong>of</strong> Information Systems (BIS) Programme<br />
8.2.1 Overview<br />
The primary objective <strong>of</strong> the Bachelor <strong>of</strong> Information Systems (BIS) degree programme is to train students as<br />
information systems specialists in a business organisation context. The BIS will equip students with knowledge <strong>and</strong><br />
skills for planning, modeling <strong>and</strong> applying ICT to meet an organization‘s business requirements that are generally<br />
84<br />
Dr. Agnes Rwashana Semwanga<br />
Head <strong>of</strong> Department
depicted from the organization‘s stakeholders, events <strong>and</strong> products. The BIS Programme covers both business <strong>and</strong><br />
information technology subjects. The business subjects provide business practice framework for information<br />
systems development, whilst the information technology subjects provide the knowledge <strong>and</strong> technical skills<br />
required to build business information systems. The BIS programme aims to provide students with the concepts,<br />
analytical <strong>and</strong> developmental skills required for the information systems that underpin business computer systems<br />
<strong>and</strong> electronic commerce. The core units provide a foundation in the information systems areas <strong>of</strong> programming,<br />
system design, database, <strong>and</strong> project management.<br />
Objectives <strong>of</strong> the Programme are;<br />
The objectives <strong>of</strong> the Bachelor <strong>of</strong> Information Systems programme are:<br />
a) To build human resource capacity in information systems discipline in both the public <strong>and</strong> private<br />
sectors, especially in universities;<br />
b) To generate a pool <strong>of</strong> highly qualified c<strong>and</strong>idates for the M.Sc. in Information Systems Degree<br />
Programme;<br />
c) To address the increasing dem<strong>and</strong> for information systems training at bachelor’s degree level.<br />
d) To develop pr<strong>of</strong>essionals with theoretical <strong>and</strong> practical skills in the ICT sector.<br />
1. Target Group<br />
The programme targets two categories <strong>of</strong> people, namely Direct Entry <strong>and</strong> Diploma holders in relevant programmes.<br />
2. Minimum Admission Requirements<br />
To be admitted to the award <strong>of</strong> the Bachelor <strong>of</strong> Information Systems (BIS) Degree, a c<strong>and</strong>idate must satisfy the general<br />
admission requirements for Makerere University. In addition, the following regulations shall hold:<br />
a) Direct Entry<br />
A minimum weighted points set by the Admissions Board. For purposes <strong>of</strong> computing weighted points, the advanced<br />
level subjects shall be grouped <strong>and</strong> weighted as follows:-<br />
b) Diploma Holders<br />
Group Weight Subjects<br />
Essential 3 Any two best done subjects among: Mathematics, Physics,<br />
Economics, Chemistry, Biology, Geography, Literature,<br />
Entrepreneurship, Technical Drawing <strong>and</strong> Fine Art<br />
Relevant 2 Any other best done subject <strong>of</strong> all A’ level subjects<br />
Desirable 1 General Paper, Sub-Mathematics<br />
Others 0.5 All others.<br />
Applicants should possess at least a second class (lower division) Diploma in Computer Science any other diploma<br />
with business or computing aspects from any recognized Institution.<br />
3. Nature <strong>of</strong> the Programme<br />
The day programme has both government <strong>and</strong> privately sponsored students. The evening programme has privately<br />
sponsored students only.<br />
4. Duration<br />
The duration <strong>of</strong> this programme shall be three (3) academic years consisting <strong>of</strong> six semesters <strong>and</strong> two recess terms.<br />
Each semester lasts for seventeen (17) weeks two (2) <strong>of</strong> which are for examinations.<br />
85
5. Tuition Fees<br />
Tuition fees for privately sponsored students shall be 2,600,000 Ug<strong>and</strong>a Shillings per year for Ug<strong>and</strong>ans <strong>and</strong><br />
5,050,000 Ug<strong>and</strong>a Shillings per year for non Ug<strong>and</strong>ans. This is the same tuition fees for the existing curriculum.<br />
6. Semester Load <strong>and</strong> Minimum Graduation Load<br />
The normal semester load is between 15 <strong>and</strong> 21 credit units. The minimum graduation load is 113 credit units<br />
for courses passed including all the compulsory courses <strong>and</strong> required number <strong>of</strong> electives within a period<br />
stipulated by the University.<br />
8.2.2 Programme Structure<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Name CH LH TH PH CH<br />
Semester 1:<br />
BIS 1100 Foundations <strong>of</strong> Information Systems 3 45 -- -- 45<br />
BIS 1101 Communication for Information Systems Managers 3 45 -- -- 45<br />
BIS 1102 Business Statistics 3 45 -- -- 45<br />
CSC 1100 Computer Literacy 4 45 -- 30 60<br />
BIT 1100 Website Development & Internet Technology 3 30 -- -- 30<br />
CSK 1101 Communication Skills 4 45 -- 30 60<br />
Electives: (No Elective Course)<br />
Semester 2:<br />
BIS 1200 Information Systems in Business 3 45 -- -- 45<br />
BIS 1201 Distributed Information Systems 4 45 30 -- 60<br />
CSC 1200 Programming Methodology 4 45 -- 30 60<br />
CSC 1204 Research Methodology 4 45 30 -- 60<br />
BIT 1200 Information Technology 3 45 -- -- 45<br />
Year 1: Recess Term:<br />
CSC 1301 Practical Skills Development 4 -- -- 120 60<br />
CSC 1303 Cisco Certified Network Associate (Audited Course) 5 150 -- 100 200<br />
Semester 3:<br />
BIS 2100 Information Systems Security 4 45 30 -- 60<br />
BIT 2100 Information Systems Development 4 45 30 -- 60<br />
BIT 2101 Information Systems Management 3 45 30 -- 45<br />
BIT 2102 Electronic Commerce 4 45 30 -- 60<br />
Electives:(1 Elective Course)<br />
BIS 2102 Knowledge-based Systems 3 45 -- -- 45<br />
BIT 2105 Electronic Media Systems <strong>and</strong> Media 3 45 -- -- 45<br />
Semester 4:<br />
BIS 2200 Intelligent Systems 4 45 30 -- 60<br />
CSC 2202 Systems Analysis <strong>and</strong> Design 4 45 30 -- 60<br />
CSC 2203 Database Languages 4 45 30 -- 60<br />
CSC 2204 Research Design <strong>and</strong> Implementation 2 30 -- -- 60<br />
Electives: (1 Elective Course)<br />
BIS 2201 Executive Information Systems 4 45 30 -- 60<br />
BIS 2202 Selected Topics in Information Systems 4 60 -- -- 60<br />
CSC 2200 Operating Systems 4 45 30 -- 60<br />
Year 2: Recess Term:<br />
86
BIS 2301 Industrial Training 4 -- -- 120 60<br />
Semester 5:<br />
BIS 3100 Modeling <strong>and</strong> Simulation 4 45 30 -- 60<br />
BIS 3101 Requirements Engineering for Organizational Systems 4 45 30 -- 60<br />
BIS 3102 Human Computer Interaction 3 30 30 -- 45<br />
CSC 3107 Database Systems 4 45 -- 30 60<br />
Electives: (1 Elective Course)<br />
CSC 3101 S<strong>of</strong>tware Engineering 4 45 30 -- 60<br />
CSC 3103 User Interface Design 4 45 -- 30 60<br />
Semester 6:<br />
BIS 3200 Project in Information Systems 4 -- -- -- --<br />
BIS 3201 Strategic Management <strong>of</strong> Information Systems 3 45 -- -- 45<br />
BIS 3203 E-Governance 4 45 30 -- 60<br />
CSC 3209 Computer Networks 4 45 30 -- 60<br />
Electives: (1 Elective)<br />
BIT 3204 Enterprise Network Management 4 45 -- 30 60<br />
BIT 3205 Database (DB) Programming 4 45 -- 30 60<br />
8.2.3 Course Unit Description<br />
BIS 1100: Foundations <strong>of</strong> Information Systems (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should: View the organization as an<br />
information processing system designed to manage environmental uncertainty; explain the operational, managerial<br />
<strong>and</strong> strategic processes associated with Information Systems Management; Describe the ethical concerns associated<br />
with information privacy, accuracy, intellectual property, <strong>and</strong> accessibility.<br />
Indicative Content: This course aims at introducing students to the foundations <strong>of</strong> applying IT successfully; It will<br />
cover basic concepts for underst<strong>and</strong>ing Information systems; business processes, information <strong>and</strong> databases,<br />
communication, decision making <strong>and</strong> different types <strong>of</strong> information systems; product customer <strong>and</strong> competitive<br />
advantage, human <strong>and</strong> ethical issues (computer hardware, s<strong>of</strong>tware programming <strong>and</strong> artificial intelligence,<br />
networks <strong>and</strong> telecommunications), information systems planning, building <strong>and</strong> maintaining information systems,<br />
information system security <strong>and</strong> control, the future <strong>of</strong> information systems <strong>and</strong> customer relationship management.<br />
Reference Books:<br />
i. L. Zwass, Foundations <strong>of</strong> Information Systems, McGraw-Hill College, 1997.<br />
ii. K. Lyytinen, Information Systems: The State <strong>of</strong> the Field (John Wiley Series in Information Systems),<br />
Wiley, 2006.<br />
iii. D. Hart <strong>and</strong> S. Gregor, Information Systems Foundations: Constructing <strong>and</strong> Criticising, Ed., ANU press,<br />
2005.<br />
BIS 1101: Communication for Information systems Managers (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should: Have an underst<strong>and</strong>ing <strong>and</strong><br />
appreciation <strong>of</strong> requisite communication techniques & approaches for managers <strong>of</strong> information systems.<br />
Indicative Content: This course will focus on the value <strong>of</strong> effective communication in the management <strong>of</strong><br />
information systems including: common communication techniques <strong>and</strong> models <strong>and</strong> a review <strong>of</strong> their application in<br />
management <strong>of</strong> information systems. The content will include: the importance <strong>of</strong> effective communication, writing<br />
essays, reports & short business documents, working cooperatively in teams, <strong>and</strong> presenting group projects. It will<br />
also provide an overview <strong>of</strong> communication theory <strong>and</strong> an insight into the processes <strong>of</strong> pr<strong>of</strong>essional communication<br />
<strong>and</strong> effective communication skills for interpersonal <strong>and</strong> collaborative contexts in the workplace.<br />
87
Reference Books:<br />
i. R. Plant <strong>and</strong> S. Murrell, An Executives Guide to Information Technology: Principles, Business Models,<br />
<strong>and</strong> Terminology, Cambridge University press, 2007.<br />
ii. S. Gordon, <strong>Computing</strong> Information Technology: The Human Side, IRM Press, 2003.<br />
BIS 1102: Business Statistics (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should: Underst<strong>and</strong>, <strong>and</strong> be able to<br />
apply to real problems, the fundamental concepts <strong>of</strong> statistical thinking; Be able to appropriately apply basic tools <strong>of</strong><br />
data gathering, analysis <strong>and</strong> communication to real problems; Be able to integrate basic tools into an overall<br />
approach to scientific inquiry.<br />
Indicative Content: This unit covers simple <strong>and</strong> compound interest, time value <strong>of</strong> money, annuities, present <strong>and</strong><br />
future values, data classification <strong>and</strong> terminology, describing <strong>and</strong> displaying data, probability <strong>and</strong> probability<br />
distributions, estimation <strong>and</strong> hypothesis testing, linear regression <strong>and</strong> correlation, index numbers <strong>and</strong> time series,<br />
computer analysis <strong>of</strong> data using MINITAB <strong>and</strong> EXCEL.<br />
Reference Books:<br />
i. D. R. Anderson, D. J. Sweeney, T. A. Williams, <strong>and</strong> J. Freeman, Statistics for Business <strong>and</strong> Economics,<br />
Thomson Learning; European edition, 2006.<br />
ii. M. G. Sobol, Statistics for Business <strong>and</strong> Economics: An Action Learning Approach (McGraw-Hill series in<br />
quantitative methods for management), 1982.<br />
CSC 1100: Computer Literacy (4 CU)<br />
Course Description: In this course, students are to learn about the basic organization, concepts <strong>and</strong> terminologies in<br />
a computerized environment. They are also to get an in depth underst<strong>and</strong>ing <strong>of</strong> common computer applications. The<br />
use <strong>of</strong> related applications in different operating systems will be explored. The aims <strong>of</strong> the course unit are to: Equip<br />
students with basic knowledge about computer organization; Equip students with skills <strong>of</strong> using common <strong>of</strong>fice<br />
applications; Expose students to different operating systems; Equip students with skills <strong>of</strong> how to use the Internet;<br />
<strong>and</strong> equip students with knowledge about common text editors in different operating systems. On completion <strong>of</strong> this<br />
course unit, the students will be able to: Describe the different parts <strong>of</strong> a computer; describe the historical evolution<br />
<strong>of</strong> computers; Competently use the common <strong>of</strong>fice applications in at least two operating systems <strong>and</strong> competently<br />
use common text editor in at least two operating systems.<br />
Indicative Content: General computer organisation; Historical perspectives <strong>of</strong> computing; common Micros<strong>of</strong>t<br />
<strong>of</strong>fice packages; <strong>of</strong>fice packages in other operating systems; text editors; Common Linux <strong>and</strong> Using the web.<br />
Reference Books:<br />
i. J. Preston, R. Ferret <strong>and</strong> S. Gaskin, Computer Literacy, 2007.<br />
ii. J. Janrich <strong>and</strong> D. Oja, Practical Computer Literacy, 2001.<br />
BIT 1100: Website Development & Internet Technology (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should: Differentiate between the<br />
Internet <strong>and</strong> the World Wide Web; Underst<strong>and</strong> basic Internet technologies such as DNS, email services, HTTP <strong>and</strong><br />
LDAP; Create, publish <strong>and</strong> maintain websites using Micros<strong>of</strong>t FrontPage / Dream weaver;<br />
Indicative Content: This course will provide an underst<strong>and</strong>ing <strong>of</strong> the basics <strong>of</strong> the Internet, how it originated, how<br />
it works, <strong>and</strong> how to develop <strong>and</strong> maintain Web sites using HTML editors <strong>and</strong> site management tools such as<br />
FrontPage <strong>and</strong>/or Dreamweaver. It will provide a basic underst<strong>and</strong>ing <strong>of</strong> Internet related technologies <strong>and</strong><br />
introductory skills in Web applications. It will introduce basic Internet technologies such as DNS, email services,<br />
LDAP <strong>and</strong> the HTTP protocol. The practical part <strong>of</strong> this course will introduce tools <strong>and</strong> techniques for specifying<br />
<strong>and</strong> prototyping interactive World Wide Web applications based on HTML.<br />
88
Reference Books:<br />
i. P. K. Yuen <strong>and</strong> V. Lau, Practical Web Technologies, Addison-Wesley, 2003.<br />
ii. M. Miller, J. Wiley <strong>and</strong> Sons, 501 Web Site Secrets: Unleash the Power <strong>of</strong> Google, Amazon eBay <strong>and</strong><br />
More, 2004.<br />
CSK 1101: Communication Skills (3 CU)<br />
Course Description: This course provides students with skills <strong>of</strong> effective communication. These include verbal,<br />
written, <strong>and</strong> gesture. The course aims at facilitating students appropriately <strong>and</strong> clearly communicate with others. The<br />
aims <strong>of</strong> the course unit are to: Improve the communication competencies <strong>of</strong> the student; Improve problem solving<br />
strategies <strong>of</strong> students; improve the art <strong>of</strong> critical thinking within the student; improve the student’s ability to collect<br />
<strong>and</strong> synthesize information; provide students with knowledge to utilize the library <strong>and</strong> other educational resources.<br />
Indicative Content:<br />
• Writing Skills: Thinking critically/selectively before the writing process; selecting the relevant details;<br />
organising the relevant details logically; writing the reports essays, letters <strong>and</strong> taking notes in appropriate<br />
register; avoiding ambiguities, fallacies, irrationalities; providing supportive evidence; editing documents,<br />
pro<strong>of</strong> reading; writing <strong>and</strong> exp<strong>and</strong>ing information; Quoting <strong>and</strong> citing references; writing a curriculum<br />
vitae.<br />
• Reading Skills: The use <strong>of</strong> skimming; scanning inference <strong>and</strong> prediction in reading; Intensive <strong>and</strong> critical<br />
reading; Acquisition <strong>of</strong> specific reading skills; Interpretation <strong>of</strong> non linear texts; Locating information <strong>and</strong><br />
comprehension.<br />
• Speaking <strong>and</strong> Listening Skills to Enhance Effective Public Relations: The art <strong>of</strong> persuasion in effective<br />
speaking; Conducting interviews; Conducting meetings; Participating in group discussions <strong>and</strong> tutorials;<br />
Non verbal communication clues; Presentation seminars, seeking clarification etc.; Expression <strong>of</strong><br />
politeness; Public speaking; Proper listening skills.<br />
• Examination Skills; Preparing for examinations: How much one gets from group discussions; Proper<br />
revision; Underst<strong>and</strong>ing examination rubric; Budgeting time during examination process; Writing<br />
examinations <strong>and</strong> following instructions<br />
Reference Books:<br />
i. B. Bough, 101 ways to improve your communication skills instantly, 4th edition, 2005.<br />
ii. P. Klavs, The hard Truth About s<strong>of</strong>t skills: Work Place Lessons Smart People wish they had learned sooner,<br />
2008.<br />
BIS 1200 Information Systems in Business (3 CU)<br />
Course Description: The course covers the integration <strong>of</strong> Information <strong>and</strong> Communication Technologies into<br />
organizations <strong>and</strong> their working practices, from design <strong>and</strong> implementation to strategic effects. Drawing on<br />
Information Systems (IS) <strong>and</strong> Management literature, the course <strong>of</strong>fers a chance for students to examine case studies<br />
<strong>of</strong> IS successes <strong>and</strong> failures <strong>and</strong> to explore ’real-world’ IS management issues.<br />
The course aims to provide students with knowledge for underst<strong>and</strong>ing the integration <strong>of</strong> business <strong>and</strong> technology<br />
resources to facilitate effective <strong>and</strong> efficient realization <strong>of</strong> an organization’s mission <strong>and</strong> objectives.<br />
Indicative Content: An information systems model: An Information System uses the resources <strong>of</strong> people,<br />
hardware, s<strong>of</strong>tware, data, <strong>and</strong> networks to perform input, processing, output, storage <strong>and</strong> control activities that<br />
covert data resources into information products; Role <strong>of</strong> Information Systems in an organization; the shift from data<br />
processing Systems via information Systems to knowledge-Based Systems; How information <strong>and</strong> knowledge add<br />
value to an organization; Information Systems Trends; the Information Technology component <strong>of</strong> Information<br />
Systems; Information Systems Engineering. Strategic planning: Organizational strategies <strong>and</strong> objectives; Human<br />
resource development: budgeting, costing, charging, hire versus buy decisions; Hardware <strong>and</strong> s<strong>of</strong>tware procurement:<br />
request for proposal, evaluation, selection,<br />
89
contracting <strong>and</strong> maintenance; Security in computing: continuity <strong>of</strong> processes, controls <strong>and</strong> planning for st<strong>and</strong>by;<br />
Computer audit; Project management: approaches, tools, site planning <strong>and</strong> installation.<br />
Reference Books:<br />
i. G. Curtis, Business Information Systems: Analysis, Design <strong>and</strong> Practice, 1995.<br />
ii. P. Bocij, D. Chaffey, A. Greasley, <strong>and</strong> S. Hickie, Business Information Systems: Technology,<br />
Development <strong>and</strong> Management for the E-Business, 2005.<br />
BIS 1201: Distributed Information Systems (4 CU)<br />
Course Description: Upon completion <strong>of</strong> this course, the student will: Underst<strong>and</strong> the basic principles underlying<br />
distributed information systems in general <strong>and</strong> client-server model (which is viewed as a specialization <strong>of</strong> distributed<br />
information systems) in particular. Underst<strong>and</strong> the characteristics <strong>of</strong> common architectures <strong>and</strong> technical issues for<br />
distributed <strong>and</strong> client-server information systems. Have the knowledge <strong>and</strong> skills to design, plan, implement <strong>and</strong><br />
support distributed information systems, services <strong>and</strong> server components.<br />
Indicative Content: This course will cover: a broad foundation in distributed <strong>and</strong> client-server information systems<br />
from both a managerial <strong>and</strong> a systems development point <strong>of</strong> view; provide a base from which the student can<br />
assimilate knowledge <strong>of</strong> future developments in distributed <strong>and</strong> client-server information systems. The emphasis<br />
will be on developing skills <strong>and</strong> techniques in distributed business information systems.<br />
Reference Books:<br />
i. M. T. Ozsu <strong>and</strong> P. Valduriez, The Principles <strong>of</strong> Distributed Databases, Pearson Education; 2nd edition,<br />
1999.<br />
ii. G. Coulouris, J. Dollimore <strong>and</strong> T. Kindberg, Distributed Systems - Concepts <strong>and</strong> Design, 3rd edition,<br />
Addison Wesley, 2000.<br />
CSC 1200: Programming Methodology (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should be able to: Gain an<br />
underst<strong>and</strong>ing <strong>of</strong> basic programming principles & practice; Recognise simple programming idioms <strong>and</strong> their<br />
‘semantics’; Select a suitable design methodology for a given problem;<br />
Indicative Content: The course aims at giving a good basis <strong>of</strong> programming principles <strong>and</strong> practice. A high-level<br />
programming language such as C will be used to impart a discipline <strong>of</strong> structured programming. Emphasis will be<br />
put on well-structured <strong>and</strong> correctly designed Programmes. The course gives an introduction to the basic concepts <strong>of</strong><br />
algorithms, Programme structure, data structures <strong>and</strong> programming. Formal programming languages, syntactic<br />
description; Introduction to digital computing techniques using a high level language; Algorithms development<br />
using the top-down design approach; Use <strong>of</strong> programming constructs <strong>and</strong> data structures like arrays, stacks, queues<br />
& heaps; Algorithms specification <strong>and</strong> verification.<br />
Reference Books:<br />
i. M. Hanssen <strong>and</strong> H. Richel, Introduction to Programming using SML, Addison-Wesley, 1999.<br />
ii. L. C. Paulson, ML for the Working Programmer, 2nd edition, Cambridge University Press, 1996.<br />
iii. C. Okasaki, Purely Functional Data Structures, Cambridge University Press, 1999.<br />
CSC 1204: Research Methodology (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the student should be able to: Identify interesting<br />
problems <strong>of</strong> research <strong>and</strong> develop appropriate strategies to address the problems identified; Demonstrate ethical<br />
consideration in conduction research; Show knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> Statistical <strong>and</strong> non-Statistical Research<br />
Methods; Use statistical packages to analyze data <strong>and</strong> make scientifically sound conclusions based on the analysis;<br />
Interpret, explain, <strong>and</strong> experiment through writing, oral presentation, various multi-media modes, <strong>and</strong> in a classroom<br />
setting; <strong>and</strong> demonstrate reflective, reflexive, creative, interpretative, evaluative, critical, <strong>and</strong> analytical thinking<br />
skills.<br />
90
Indicative Content: This course is an introduction to research, statistical analysis, <strong>and</strong> decision making. Close<br />
attention is paid to data types, data contributions, the identification <strong>of</strong> variables, <strong>and</strong> descriptive data presentation<br />
techniques. Students are introduced to both parametric <strong>and</strong> nonparametric data analysis procedures including<br />
independent <strong>and</strong> dependent sample tests, chi-square analysis, <strong>and</strong> simple analysis <strong>of</strong> variance. Hypothesis testing<br />
<strong>and</strong> the use <strong>of</strong> statistical s<strong>of</strong>tware packages are emphasized.<br />
Reference Book:<br />
i. J. M. Ruane, Essentials <strong>of</strong> Research Methods, Montclair State University, Jul 2004.<br />
BIT 1200: Information Technology (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student will: Underst<strong>and</strong> <strong>and</strong> use various<br />
computer applications e.g. <strong>of</strong>fice suite, email & Internet, image processing for basic tasks; Use computer<br />
applications for advanced tasks like embedded spreadsheets, databases <strong>and</strong> other media tools used in <strong>of</strong>fice<br />
environments; Design <strong>and</strong> implement simple GUI systems;<br />
Indicative Content: This unit introduces students to the full range <strong>of</strong> skills needed to operate in the information<br />
society. It will cover an overview <strong>of</strong>: database management; operating systems management; network services <strong>and</strong><br />
electronic mail; document design; data analysis <strong>and</strong> presentation; information management; information presentation<br />
<strong>and</strong> the Internet <strong>and</strong> World Wide Web. Practical will be based on the following s<strong>of</strong>tware packages: MS <strong>of</strong>fice/Open<br />
<strong>of</strong>fice, MS outlook/qmail, the netscape /mosaic web browser <strong>and</strong> miscellaneous multimedia tools. Students will<br />
further use introductory object oriented techniques to design <strong>and</strong> code systems with graphical user interfaces.<br />
Reference Books:<br />
i. R. Plant <strong>and</strong> S. Murrell, An Executives Guide to Information Technology: Principles, Business Models, <strong>and</strong><br />
Terminology, 2007.<br />
ii. E. Garrison Walters, The Essential Guide to <strong>Computing</strong>: The Story <strong>of</strong> Information Technology, Essential<br />
Guide Series, 2000.<br />
BIS 2100: Information Systems Security (4 CU)<br />
Course Description: At the conclusion <strong>of</strong> the course, the student should have an underst<strong>and</strong>ing <strong>of</strong>: Computer,<br />
databases & network-related security threats <strong>and</strong> solutions; Principles <strong>of</strong> authentication <strong>and</strong> encryption; Internet<br />
Protocol security architecture (IPSEC).<br />
Indicative Content: This course introduces the basic principles <strong>of</strong> computer security, focusing on system elements.<br />
Among the topics covered are: access control <strong>and</strong> integrity; Network security; database security; cryptography<br />
(Symmetric <strong>and</strong> public key systems; PKI Strengths-complexity, secrecy, Encryption Key management);<br />
programming language security (problems like buffer overflow, pointers <strong>and</strong> arrays; java security).<br />
Reference Books:<br />
i. A. R. Warman, Computer Security within Organizations, The Macmillan Press Ltd, 1993.<br />
ii. P. E. Fites, M. P. Kratz, Information Systems Security: A Practitioners Reference 2nd edition, 2003.<br />
BIT 2100: Information Systems Development (4 CU)<br />
Course Description: Upon completion <strong>of</strong> this course, students should be able: To gain a general idea about<br />
information systems <strong>and</strong> the information systems development life cycle; To be familiar with the principles <strong>and</strong><br />
approaches <strong>of</strong> project management as they are applied to the design, development <strong>and</strong> maintenance <strong>of</strong> complex<br />
information systems; To underst<strong>and</strong> the roles <strong>and</strong> responsibilities <strong>of</strong> information architects in Team-based projects<br />
Indicative Content: This course is an introductory systems design course for s<strong>of</strong>tware engineers <strong>and</strong> business<br />
systems analysts. The course presents an overview <strong>of</strong> information systems <strong>and</strong> the systems development lifecycle<br />
for the s<strong>of</strong>tware engineer. Topics include: Information Systems theory, including strategic role <strong>of</strong> Information<br />
Systems; Systems Development Life Cycle; Project Management principles & techniques; Data Flow Diagrams;<br />
Programme Specifications.<br />
91
Reference Books:<br />
i. A. M. Langer, Analysis <strong>and</strong> Design <strong>of</strong> Information Systems, Springer- Verlag, 2007.<br />
ii. S. Brinkkemper, Conceptual, Modelling in Information Systems Engineering, Springer-Verlag, 2007.<br />
BIT 2101: Information Systems Management (3 CU)<br />
Course Description: At the completion <strong>of</strong> the course, the student should be able: To identify ways to use IT to<br />
leverage business opportunities in different areas <strong>of</strong> responsibility. Underst<strong>and</strong> the need for organizations to develop<br />
information vision, IT architecture, <strong>and</strong> strategic <strong>and</strong> operational IT plans <strong>and</strong> be able to participate in these<br />
processes. Participate in the development <strong>of</strong> organizational policies related to the potential impacts <strong>of</strong> IT usage on<br />
individuals, organizations, <strong>and</strong> society.<br />
Indicative Content: This Course studies the value <strong>of</strong> management <strong>of</strong> information <strong>and</strong> IT resources to commerce<br />
<strong>and</strong> industry. It delves on the management <strong>and</strong> application issues <strong>of</strong> information systems development rather than<br />
technical concepts. Material covered will include: the foundations <strong>of</strong> IT management, managing application<br />
portfolio resources, tactical <strong>and</strong> operational considerations <strong>and</strong> controlling information resources.<br />
Reference Books:<br />
i. A. M. Langer, Analysis <strong>and</strong> Design <strong>of</strong> Information Systems, Springer- Verlag, 2007.<br />
ii. A. Cassidy, A Practical Guide to Information Systems Process Improvement, CRC Press, 2000.<br />
BIT 2102: Electronic Commerce (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should: Underst<strong>and</strong> the main concepts<br />
<strong>and</strong> processes involved in doing business electronically; Be familiar with the different ways that electronic<br />
commerce can add business value to an organisation; Be able to analyze <strong>and</strong> design key decisions faced by an<br />
organisation when establishing or updating a web presence for business purposes.<br />
Indicative Content: The course provides an introduction to electronic commerce. It introduces the techniques <strong>and</strong><br />
the tools used in on-line transactions. It reviews problems <strong>and</strong> solutions to business activities being conducted<br />
electronically. Security issues, transaction integrity <strong>and</strong> electronic payment systems are considered. Topics covered<br />
in this course include: Internet concepts <strong>and</strong> technology; Data security issues; Electronic payment systems; Internet<br />
marketing <strong>and</strong> electronic commerce legal issues; Electronic commerce <strong>and</strong> retailing, <strong>and</strong> corporate finance; Intranets<br />
<strong>and</strong> supply chain management, <strong>and</strong> manufacturing.<br />
Reference Books:<br />
i. H. Chan, J. Wiley <strong>and</strong> Sons, Electronic Commerce: Fundamentals & Applications, 2001.<br />
ii. D. Travis, E-Commerce Usability: Tools <strong>and</strong> Techniques to Perfect the On-Line Experience, CRC Press,<br />
2002.<br />
BIS 2102: Knowledge-based Systems (3 CU)<br />
Course Description: By the end <strong>of</strong> this course, the student should be able: To underst<strong>and</strong> important issues,<br />
challenges, concepts <strong>and</strong> techniques <strong>of</strong> building <strong>and</strong> managing knowledge-based Systems. To analyze, design <strong>and</strong><br />
develop Programmes <strong>and</strong> systems that deal with knowledge in various forms.<br />
Indicative Content: This course will cover structuring the logic <strong>of</strong> a solution into a business or management<br />
problem, designing a knowledge base containing a series <strong>of</strong> rules <strong>and</strong> implementing a solution using knowledgebased<br />
s<strong>of</strong>tware, Methods <strong>and</strong> tools <strong>of</strong> problem solving, reasoning, knowledge representation <strong>and</strong> knowledge<br />
acquisition.<br />
Reference Books:<br />
i. J. V. Richardson, Knowledge-based Systems for General Reference Work: Applications by – Computers,<br />
Academic Press.1995.<br />
ii. G. S. Tuthill, Implementing Knowledge-based Systems, TAB Books Inc, 1991.<br />
92
BIT 2105: Electronic Media Systems <strong>and</strong> Media (3 CU)<br />
Course Description: By the end <strong>of</strong> this course, the student should; Have an underst<strong>and</strong>ing <strong>of</strong> the various platforms,<br />
applications, media <strong>and</strong> technology used to develop digital media products <strong>and</strong> communications. Have an<br />
appreciation <strong>of</strong> the varied design techniques <strong>and</strong> s<strong>of</strong>tware tools used for designing <strong>and</strong> manipulation <strong>of</strong> digital media<br />
products. Appreciate <strong>and</strong> practice the art <strong>of</strong> combining multimedia authoring tools to provide an effective<br />
multimedia system.<br />
Indicative Content: This course provides a comprehensive overview <strong>of</strong> the various platforms, applications, media<br />
<strong>and</strong> technology used to develop digital media products <strong>and</strong> communications. Participants are introduced to digital<br />
graphics, photography, video, audio, networked multimedia <strong>and</strong> authoring. Students are taught visual design skills as<br />
a basis for working in graphic design <strong>and</strong> other major areas <strong>of</strong> multimedia production, learning a variety <strong>of</strong> design<br />
techniques using specialist s<strong>of</strong>tware to design <strong>and</strong> manipulate images, learn the Art <strong>of</strong> combining multimedia<br />
authoring tools to provide an effective multimedia system. This course will also investigate the use <strong>of</strong> several<br />
s<strong>of</strong>tware tools for multimedia production <strong>and</strong> the ways in which media components can be represented <strong>and</strong><br />
integrated into final multimedia production.<br />
Reference Book:<br />
i. S. Y. Chen, Digital Multimedia Perception <strong>and</strong> Design, Idea Group Publishing, 2006.<br />
ii. G. Barlas, Distributed Multimedia Retrieval Strategies for Large Scale Networked Systems: Multimedia<br />
Systems <strong>and</strong> Applications, Springer-Verlag, 2005.<br />
BIS 2200: Intelligent Systems (4 CU)<br />
Course Description: By the completion <strong>of</strong> this course, the student should; Have an appreciation <strong>of</strong> computational<br />
issues in problem solving; Have an underst<strong>and</strong>ing <strong>of</strong> concepts, methods <strong>and</strong> principles in knowledge based problem<br />
solving; Be able to design <strong>and</strong> implement prototype knowledge systems.<br />
Indicative Content: This unit provides an introduction to intelligent system technologies such as knowledge<br />
engineering, applied artificial intelligence <strong>and</strong> expert systems as key players in filling a growing niche in corporate<br />
information systems. Topics include: natural language underst<strong>and</strong>ing, vision & learning; heuristic programming;<br />
search strategies; knowledge representations, acquisition <strong>and</strong> Applications i.e. Expert Systems’ design techniques,<br />
programming aspects, applications, successes, limitations <strong>and</strong> Neural Networks).<br />
Reference Book:<br />
i. M. Negnevitsky, Artificial Intelligence: A Guide to Intelligent Systems, 2nd edition, Addison-Wesley,<br />
2004.<br />
ii. P. Norvig, Artificial Intelligence: A Modern Approach, 2nd edition, Prentice Hall, 2002.<br />
CSC 2202 Systems Analysis <strong>and</strong> Design (4 CU)<br />
Course Description: This course introduces established <strong>and</strong> evolving methodologies for the analysis <strong>and</strong> design <strong>of</strong><br />
an information system. Great emphasis is placed on system characteristics, managing projects, prototyping,<br />
CASE/OOM tools, systems development life cycle phases, the role <strong>of</strong> the systems analyst, systems selection,<br />
definition <strong>of</strong> systems requirements, feasibility analysis, system design, <strong>and</strong> system architecture are topics included.<br />
Upon completion, students should be able to analyze a problem <strong>and</strong> design an appropriate solution using a<br />
combination <strong>of</strong> tools <strong>and</strong> techniques.<br />
Indicative Content:<br />
• SAD Fundamentals: Introduction to IS & types <strong>of</strong> IS; Need for SAD & role <strong>of</strong> Analyst; SDLC & use <strong>of</strong><br />
CASE tools; Determining feasibility & mgt <strong>of</strong> SAD activities.<br />
• Information Requirements Analysis Information gathering (Interactive methods, unobtrusive methods,<br />
RAD, prototyping); Determining Systems requirements (types <strong>of</strong> requirements)<br />
93
• The Analysis Process: Structuring systems requirements (describing process specifications & structured<br />
decisions) Data modelling; Process modelling; Preparing System proposals.<br />
• The Design Process: Designing effective output; Designing effective input (Accurate Data entry<br />
Procedures); User Interface design; Database Design.<br />
• System Implementation: Quality Assurance through S<strong>of</strong>tware Engineering (design with structured charts,<br />
testing, maintenance, auditing, Quality mgt); Implementing Information Systems (user training, conversion<br />
strategies, systems evaluation.<br />
• Project Management: Stages <strong>of</strong> system Development; Project planning; Estimation & Project Monitoring &<br />
Control.<br />
• Introduction to Object-oriented Systems Analysis & Design using UML<br />
Reference Books:<br />
i. Kendall & Kendall, Systems Analysis <strong>and</strong> Design, 6th edition, Pearson Prentice Hall, 2005.<br />
ii. A. J. H<strong>of</strong>fer, F. J. George <strong>and</strong> J. S. Valacich, Modern Systems Analysis <strong>and</strong> Design, 2nd edition, Addison-<br />
Wesley, 1999.<br />
CSC 2203: Database Languages (4 CU)<br />
Course Description: Upon completion <strong>of</strong> this course, the student should: Have knowledge <strong>of</strong> database definition<br />
<strong>and</strong> manipulation languages; Be able to use SQL, Advanced SQL, QBE, Visual Basic to perform data search,<br />
storage <strong>and</strong> other data processing techniques on a relational database schema.<br />
Indicative Content: The course will give in-depth knowledge about the commonly used database manipulation<br />
languages. Based on a relational database schema, the course will illustrate the use <strong>of</strong> these languages in<br />
manipulating databases. Topics include: a brief introduction to relational database schemas; Database languages<br />
(SQL, Advanced SQL, Query-By-Example (QBE), Visual Basic.<br />
Reference Book:<br />
i. C. Coronel, Database Systems: Design, Implementation <strong>and</strong> Management, 6th edition, Course<br />
Technology, 2004.<br />
ii. R. Ramakrishnan <strong>and</strong> J. Gehrke, Database Management Systems, McGraw-Hill Higher Education; 3rd<br />
edition, 2002.<br />
CSC 2204: Research Design <strong>and</strong> Implementation (2 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student should have an underst<strong>and</strong>ing <strong>of</strong> the<br />
basic guidelines on how to carry out research <strong>and</strong> produce a good academic project report.<br />
Indicative Content: This unit will cover: Developing the proposal; approval <strong>of</strong> the study plan; conducting the<br />
study; writing the manuscript; defense (presentation) <strong>of</strong> the Thesis (report).<br />
Reference Books:<br />
i. J. W. Creswell, Research Design: Qualitative, Quantitative, <strong>and</strong> Mixed Methods Approaches, SAGE<br />
Publications Inc.; 3rd edition, 2008.<br />
BIS 2201: Executive Information Systems (EIS) (4 CU)<br />
Course Description: By the end <strong>of</strong> this course, the student should be able to: Underst<strong>and</strong> the information<br />
requirements <strong>of</strong> executives; underst<strong>and</strong> how executives make use <strong>of</strong> information; Underst<strong>and</strong> the merits <strong>and</strong><br />
limitations <strong>of</strong> available EIS s<strong>of</strong>tware;<br />
Indicative Content: The course will cover a framework for the underst<strong>and</strong>ing <strong>of</strong> the information needs <strong>of</strong> the<br />
executives, development <strong>and</strong> implementation <strong>of</strong> appropriate information models.<br />
94
Reference Books:<br />
i. A. Cassidy, A Practical Guide to Information Systems Process Improvement, CRC Press, 2000.<br />
BIS 2202: Selected Topics in Information Systems (4 CU)<br />
Course Description:<br />
By the end <strong>of</strong> this course, the student should have an underst<strong>and</strong>ing <strong>of</strong> the current developments in information<br />
systems theory, research <strong>and</strong> practice.<br />
Indicative Content: Topics <strong>of</strong> current interest in Information Systems will be discussed.<br />
CSC 2200: Operating Systems (4 CU)<br />
Course Description: Operating Systems course introduces students to s<strong>of</strong>tware that controls hardware <strong>and</strong> makes<br />
the hardware usable. Its interaction with other computer devises <strong>and</strong> how it controls other computer processes is<br />
explored. The Course aims at providing students with a detailed underst<strong>and</strong>ing <strong>of</strong> how operating systems work;<br />
skills to write basic Programmes to utilize underlying operating system infrastructures. At the end <strong>of</strong> the course,<br />
students are able to know the dominant categories <strong>of</strong> operating systems are Windows <strong>and</strong> UNIX (Linux, Mac OS,<br />
Solaris, etc). Students <strong>of</strong> operating systems are expected to have a proper underst<strong>and</strong>ing <strong>of</strong> the differences between<br />
these two. Students should be able to underst<strong>and</strong> different design principles for operating systems <strong>and</strong> various<br />
s<strong>of</strong>tware tools that make operating systems usable.<br />
Indicative Content; Operating Systems Structures; Processes <strong>and</strong> threads; Thread creation, manipulation <strong>and</strong><br />
synchronization; Deadlock; Implementing Synchronization operations; CPU scheduling; Memory management;<br />
File systems <strong>and</strong> file system implementation; Monitors; Segments; Disk Scheduling; Networking; UDP <strong>and</strong> TCP.<br />
Reference Book:<br />
i. W. Stallings, Operating Systems: Internals <strong>and</strong> Design Principles, 5th edition, Prentice Hall, 2005.<br />
BIS 3100: Modeling <strong>and</strong> Simulation (4 CU)<br />
Course Description: The course gives students theoretical <strong>and</strong> practical skills in modelling <strong>and</strong> simulation <strong>of</strong><br />
dynamic systems with a view <strong>of</strong> learning their behaviour <strong>and</strong> the sensitivity <strong>of</strong> that behaviour to certain parameters.<br />
The course will familiarize students with modelling <strong>and</strong> simulation techniques that are applicable under varying<br />
circumstances equip students with practical experiences <strong>of</strong> composing models <strong>and</strong> running simulations under<br />
varying circumstances, equip students with skills <strong>of</strong> correctly representing simulation results<br />
Indicative Content: Simulation <strong>of</strong> operational systems, Simulation as a decision making methodology, Model<br />
development <strong>and</strong> validation, Design <strong>of</strong> simulation experiments, Generation <strong>of</strong> appropriate values <strong>of</strong> r<strong>and</strong>om<br />
variables, Interactive procedures <strong>and</strong> interpretation <strong>of</strong> results.<br />
Reference Books:<br />
i. L. Oakshott, Business Modelling <strong>and</strong> Simulation, Trans- Atlantic Publications, 1997.<br />
ii. R. G. Coyle, System Dynamics Modelling; A practical approach, Chapman & Hall/CRC, 1996.<br />
BSE 3103: Requirements Engineering (4 CU)<br />
Course Description: At the end <strong>of</strong> the course students should be able to: Underst<strong>and</strong> the principles, tools, <strong>and</strong><br />
techniques for requirements elicitation, specification, <strong>and</strong> analysis; demonstrate the role <strong>of</strong> requirements in system<br />
development <strong>and</strong> maintenance; <strong>and</strong> appreciate the difficulties <strong>of</strong> specifying requirements for real systems, as well as<br />
effective methods tools <strong>and</strong> techniques.<br />
Indicative Content: System <strong>and</strong> S<strong>of</strong>tware System Engineering; S<strong>of</strong>tware Requirements Concepts; Requirements<br />
Elicitation; S<strong>of</strong>tware Requirements Analysis, S<strong>of</strong>tware Requirements Specifications, S<strong>of</strong>tware Requirements Tools,<br />
S<strong>of</strong>tware Requirements Verification; S<strong>of</strong>tware Requirements Engineering Management; Developing a Successful<br />
S<strong>of</strong>tware Requirement.<br />
95
Reference Books:<br />
i. P. Loucopoulos <strong>and</strong> V. Karakostas, System Requirements Engineering, McGraw-Hill; 1995<br />
ii. D. Leffingwell, D. Widrig, A. Wesley Managing S<strong>of</strong>tware Requirements, A Use Case Approach, 2nd<br />
edition,: Boston, 2000.<br />
iii. L. Chung, B. Nixon, E. Yu <strong>and</strong> J. Mylopoulos, Non-Functional Requirements in S<strong>of</strong>tware Engineering,<br />
Kluwer Academic Publishing, 2000.<br />
iv. A. M. Davis, S<strong>of</strong>tware Requirements: Objects, Functions, & States, Prentice Hall: Englewood Cliffs, 1993.<br />
v. R. H. Thayer <strong>and</strong> M. Dortman, System <strong>and</strong> S<strong>of</strong>tware Requirements Engineering: Tutorial, Editors, IEEE<br />
Computer Society Press, 1997.<br />
BIS 3102 Human Computer Interaction (3 CU)<br />
Course Description: This course covers: Introduction to the interdisciplinary area <strong>of</strong> Human Computer Interaction<br />
(HCI); the underlying principles <strong>of</strong> psychology, computer science <strong>and</strong> ergonomics that influence theory <strong>and</strong> practice<br />
<strong>of</strong> HCI design <strong>and</strong> usage; specific topics will include: models <strong>of</strong> human information processing, organizational<br />
structures <strong>and</strong> socio-technical approaches to information system design; design principles for dialogue management;<br />
issues <strong>of</strong> systems user-ability; hypertext; natural language processing; virtual reality <strong>and</strong> multimedia applications.<br />
The course aims to provide students with knowledge <strong>and</strong> skills in human factors with respect to interactive s<strong>of</strong>tware,<br />
characteristics <strong>of</strong> design processes, principles <strong>and</strong> guidelines <strong>of</strong> interface design, virtual environments with respect<br />
to interfaces, corporate <strong>and</strong> business aspects <strong>of</strong> human computer interaction, interface aspects <strong>of</strong> response times <strong>and</strong><br />
presentation, interaction devices.<br />
Indicative Content: Conceptual systems models; Interface design <strong>and</strong> evaluation; Systems engineering <strong>and</strong> systems<br />
design factors; Assessments; S<strong>of</strong>tware tools; Virtual environments; Menus <strong>and</strong> dialogues; Comm<strong>and</strong> <strong>and</strong> natural<br />
languages; Interface devices; Response times; Complexity; Information attributes; Human factors <strong>and</strong> attributes;<br />
Tasks; Cognitive modelling; Function mapping; Hypermedia; Societal considerations <strong>and</strong> ethics <strong>and</strong> Internet/web<br />
considerations<br />
Reference Books:<br />
i. A. Dix, J. Finlay, G. Abowd <strong>and</strong> R. Beale, Human Computer Interaction, 2nd edition, Prentice Hall, 1997.<br />
ii. A. Sears <strong>and</strong> J. A. Jacko, the Human – Computer Interaction <strong>H<strong>and</strong>book</strong>, 2008.<br />
iii. H. Sharp, Y. Rodgers, J. Preece <strong>and</strong> J. Wiley & Sons, Interaction Design: beyond Human Computer<br />
Interaction, 2nd edition, 2007.<br />
CSC 3107: Database Systems (4 CU)<br />
Course Description: At the conclusion <strong>of</strong> this course, the student should be able to: Underst<strong>and</strong> the principles <strong>of</strong><br />
database design <strong>and</strong> implementation; Perform conceptual data modeling using entity-relationship modeling<br />
techniques <strong>and</strong> implement developed models in a relational database management system; Appreciate database<br />
h<strong>and</strong>ling <strong>and</strong> manipulation techniques in dynamic computing environments.<br />
Indicative Content: The course covers the principles <strong>of</strong> database design <strong>and</strong> implementation including relational<br />
theory, database development, conceptual <strong>and</strong> logical modeling, use <strong>of</strong> SQL as a data-definition <strong>and</strong> data<br />
manipulation language, <strong>and</strong> contemporary issues in database administration. Practical experience in entityrelationship<br />
modeling, database design, <strong>and</strong> query writing will be covered. The course will also cover using<br />
transactions, implementing cursors, stored procedures <strong>and</strong> triggers. The course will also provide an introduction to<br />
database connectivity st<strong>and</strong>ards (for example, JDBC), client-server databases (for example, ORACLE), objectoriented<br />
databases, <strong>and</strong> accessing databases through the World-Wide Web.<br />
96
Reference Books:<br />
i. J. Petersen, Absolute Beginner‘s Guide to Databases, Absolute Beginners Guide, Que, 2002.<br />
ii. H. G. Molina, J. D. Ullman, J. D. Widom, Database Systems: The Complete Book (GOAL Series) Prentice<br />
Hall, 2001.<br />
CSC 2108: S<strong>of</strong>tware Engineering (4 CU)<br />
Course Description: This course introduces students to the foundations <strong>of</strong> s<strong>of</strong>tware engineering as a discipline.<br />
Students are introduced to the evolving role <strong>of</strong> s<strong>of</strong>tware engineering, especially with emphasis on s<strong>of</strong>tware<br />
engineering process <strong>and</strong> process models. Key topics covered include S<strong>of</strong>tware configuration management,<br />
Requirement analysis, S<strong>of</strong>tware Specification, Design methods, S<strong>of</strong>tware testing, S<strong>of</strong>tware project management<br />
techniques; S<strong>of</strong>tware project planning, Risk management; S<strong>of</strong>tware Quality Assurance; S<strong>of</strong>tware reuse; <strong>and</strong><br />
Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />
Indicative Content:<br />
• Evolving role <strong>of</strong> s<strong>of</strong>tware, s<strong>of</strong>tware characteristics; Systems <strong>and</strong> environment; system engineering<br />
hierarchy, information <strong>and</strong> knowledge engineering; Information strategy; Business Area analysis, modeling<br />
enterprise <strong>and</strong> business-level data modeling, system architecture <strong>and</strong> associated information flow; writing<br />
system specification.<br />
• S<strong>of</strong>tware Engineering as a layered technology: S<strong>of</strong>tware process, s<strong>of</strong>tware process models. S<strong>of</strong>tware<br />
configuration management: the SCM process, Identification <strong>of</strong> objects in s<strong>of</strong>tware configuration, version<br />
control, change control, configuration audit, SCM st<strong>and</strong>ards.<br />
• Requirement analysis: Communication techniques, Information gathering tools; organizing <strong>and</strong> structuring<br />
information; analysis principles; Analysis modeling.<br />
• S<strong>of</strong>tware Specification: Design process, principles <strong>and</strong> concepts: Abstraction, refinement, modularity,<br />
control hierarchy, structural partitioning, information hiding, functional independence, cohesion, coupling,<br />
design heuristics;<br />
• Design methods: data design, architectural design, transform mapping, design optimization, human<br />
computer interface design, procedural design <strong>and</strong> tools; Design documentation.<br />
• S<strong>of</strong>tware testing: Testing objectives, Testing principles, Testability, test case designing, white box testing;<br />
Basis path testing: Condition testing, data flow testing, loop testing; Black box testing: graph based testing<br />
methods, equivalence partitioning, Boundary value analysis, comparison testing; Testing documentation<br />
<strong>and</strong> help facilities; S<strong>of</strong>tware testing strategy: unit testing, integration testing, validation testing, system<br />
testing.<br />
• S<strong>of</strong>tware project management techniques: project metrics, s<strong>of</strong>tware measurement <strong>and</strong> metrics, s<strong>of</strong>tware<br />
quality metrics;<br />
• S<strong>of</strong>tware project planning: objectives <strong>of</strong> planning, resources, project estimation <strong>and</strong> estimation models,<br />
project decomposition techniques, make-buy decisions; automated estimation tools.<br />
• Risk management: s<strong>of</strong>tware risks, risk identification, risk projection, risk mitigation, monitoring <strong>and</strong><br />
management; Project Scheduling: people <strong>and</strong> effort relationships, defining tasks, defining task network,<br />
scheduling techniques; S<strong>of</strong>tware teams <strong>and</strong> intra-team relationships; role <strong>of</strong> project manager.<br />
• S<strong>of</strong>tware Quality Assurance: Concept <strong>of</strong> quality, quality control vs. quality assurance, cost <strong>of</strong> quality,<br />
factors that affect quality, quantitative view <strong>of</strong> quality, quality metrics, defect removal efficiency SQA<br />
activities, ISO st<strong>and</strong>ards <strong>and</strong> CMM practices, SEI levels, S<strong>of</strong>tware reviews, Formal approaches to SQA,<br />
Statistical Quality Assurance. S<strong>of</strong>tware reliability, reliability metrics, reliability models, meeting reliability<br />
requirements.<br />
• Effective metrics for s<strong>of</strong>tware process: Measurement principles, attributes <strong>of</strong> s<strong>of</strong>tware metrics, metrics for<br />
analysis model, metrics for design model, metrics for source code, metrics for maintenance.<br />
97
• S<strong>of</strong>tware reuse: difficulties in reuse, hardware reuse vs. s<strong>of</strong>tware reuse, reusable artifacts, domain<br />
engineering approach, analysis design <strong>and</strong> construction <strong>of</strong> reusable components, classification <strong>and</strong> retrieval<br />
<strong>of</strong> components, economic impact <strong>of</strong> reuse <strong>and</strong> reuse metrics.<br />
• Computer aided s<strong>of</strong>tware engineering: CASE tools <strong>and</strong> application.<br />
Reference Books:<br />
i. J. F. Peters, W. Pedrycz, S<strong>of</strong>tware engineering: An Engineering approach, John Wiley, 2000.<br />
ii. R. S. Pressman, S<strong>of</strong>tware engineering: A Practitioners Approach, 5th edition, McGraw Hill, 2005.<br />
iii. I. Sommerville, S<strong>of</strong>tware Engineering, 8th edition, Addison Wesley, 2008.<br />
iv. D. Ghezzi, M. Jazayeri, D. M<strong>and</strong>rioli, Fundamentals <strong>of</strong> S<strong>of</strong>tware Engineering, Prentice Hall <strong>of</strong> India, 2004.<br />
CSC 3103: User Interface Design (4 CU)<br />
Course Description: The course introduces the principles <strong>of</strong> user interface development, focusing on design,<br />
implementation <strong>and</strong> evaluation. The course aims at providing different skills to students, such as: Developing<br />
efficient, flexible <strong>and</strong> interactive User Interfaces (UI); Provide ability to identifying system users, the tasks they<br />
want to carry out <strong>and</strong> the environment in which they will be working; Creating a conceptual designs; Designing<br />
various kinds <strong>of</strong> UI, in particular graphical user interfaces (GUIs) <strong>and</strong> websites; evaluating UIs; Appreciation <strong>of</strong><br />
realities <strong>of</strong> developing usable UIs in an organization.<br />
Indicative Content: Usability; User-Centred Design; UI S<strong>of</strong>tware Architecture; Human Capabilities; Output<br />
Models; Conceptual Models <strong>and</strong> Metaphors; Input Models; Design Principles; Paper Prototyping; Constraints <strong>and</strong><br />
Layouts; Graphic Design; Computer Prototyping; Heuristic Evaluation; User Testing; Experiment Design <strong>and</strong><br />
Experiment Analysis.<br />
Reference Books:<br />
i. D. A. Norman, The Design <strong>of</strong> Everyday Things, New York, NY: Doubleday, 1990.<br />
ii. J. Nielsen, Usability Engineering, Burlington, MA, Academic Press, 1994.<br />
iii. K. Mullet <strong>and</strong> D. Sano, Designing Visual Interfaces: Communication oriented techniques. Prentice Hall,<br />
1994.<br />
BIS 3200: Project in Information Systems (4 CU)<br />
Course Description: The objective <strong>of</strong> this course is to give the student experience in developing independent skills<br />
<strong>and</strong> implementing non-trivial programming/ research projects.<br />
Indicative Content: Each student will pursue a lengthy programming project in any area <strong>of</strong> computer information<br />
systems. The project will be specified, designed <strong>and</strong> implemented, with one <strong>of</strong> the Pr<strong>of</strong>essors Lecturers as an<br />
adviser/ supervisor.<br />
BIS 3201: Strategic Management <strong>of</strong> Information Systems (3 CU)<br />
Course Description: Upon completion <strong>of</strong> this course, the student will have an underst<strong>and</strong>ing <strong>of</strong> the: Information<br />
needs <strong>of</strong> an organization <strong>and</strong> the role <strong>of</strong> information systems in providing them; Alternative ways to match the<br />
information systems function to the structure <strong>and</strong> behavior <strong>of</strong> the organization; The role <strong>of</strong> the CIO <strong>and</strong> other<br />
executives in managing an organization’s IS f unction;<br />
Indicative Content: This course will adopt an enterprise management perspective with the aim to develop an<br />
underst<strong>and</strong>ing <strong>of</strong> managerial <strong>and</strong> organizational performance <strong>and</strong> <strong>of</strong> strategic decision making, in a competitive<br />
business environment. It will cover conceptual <strong>and</strong> practical skills in integrating information systems into financial,<br />
organisational, marketing <strong>and</strong> production/service function <strong>of</strong> an organisation with an overall business strategy. Other<br />
topics include cross-cultural management, the management <strong>of</strong> high technology, managing the physical environment,<br />
<strong>and</strong> public sector management.<br />
98
Reference Books:<br />
i. W. Robson, Strategic Management <strong>and</strong> Information Systems: An Integrated Approach, Financial Times/<br />
Prentice Hall, 2nd edition, 1997.<br />
ii. S. Clarke, Information Systems Strategic Management: Rout ledge Series in Information Systems: An<br />
Integrated Approach, Rout ledge; 1st edition, 2006.<br />
CSC 3209: Computer Networks (4 CU)<br />
Course Description: By the end <strong>of</strong> this course, the student should have; A general underst<strong>and</strong>ing <strong>of</strong> the important<br />
concepts in data networks; Knowledge <strong>of</strong> the problems which occur at various levels <strong>of</strong> a layered communication’s<br />
model <strong>and</strong> how these problems can be solved; Be introduced to network programming using the socket paradigm.<br />
Indicative Content: This course gives an introduction <strong>and</strong> an overview <strong>of</strong> the important concepts in data networks.<br />
Topics include: Introduction to data networks, problems which occur at various levels <strong>of</strong> a layered communications<br />
model, <strong>and</strong> how these problems can be solved. In particular, the course emphasizes the levels up to <strong>and</strong> including the<br />
transport layer, <strong>and</strong> how one can implement applications based on the services provided by the transport layer. An<br />
Important part <strong>of</strong> the course is network programming using the socket paradigm (Internet addressing, UDP, TCP,<br />
HTTP).<br />
Reference Books:<br />
i. S. Karris, Networks: Design <strong>and</strong> Management, Orchard Publications, 2008.<br />
ii. F. M. Nader, Computer <strong>and</strong> Communication Networks, Prentice Hall, 2006.<br />
BIS 3202: E-Governance (4 CU)<br />
Course Description: By completion <strong>of</strong> this course, the student should have an underst<strong>and</strong>ing <strong>of</strong>: The difference<br />
between e-governance <strong>and</strong> e-government; E-governance strategy <strong>and</strong> Public Policy issues for e-governance<br />
implementation; Infrastructure <strong>and</strong> applications required for e-governance.<br />
Indicative Content: The course will cover: the definitions <strong>of</strong> e-governance <strong>and</strong> e-government; e-governance<br />
(Strategy <strong>and</strong> Implementation);Public Policy for e-governance ( legal, ethical <strong>and</strong> other public issues, privacy,<br />
Intellectual property rights, Free speech, Consumer <strong>and</strong> seller protection);Infrastructure for e-governance (intranet,<br />
extranet, IP, web-based-client server, Internet security) <strong>and</strong> e-governance applications (online citizen access to<br />
governmental databases, e-procurement, e-licensing & e-democracy).<br />
Reference Books:<br />
i. G. D. Garson, Digital Government: Principles <strong>and</strong> Best Practices, IGI Publishing; illustrated edition, 2003.<br />
ii. D. M. West, Digital Government: Technology <strong>and</strong> Public Sector Performance, Princeton University Press;<br />
illustrated edition, 2007.<br />
BIT 3204 Enterprise Network Management (4 CU)<br />
Course Description: By the end <strong>of</strong> this course, the student should: Have an underst<strong>and</strong>ing <strong>of</strong> what enterprise<br />
network management entails <strong>and</strong> how different it is from other network management techniques; Have an<br />
underst<strong>and</strong>ing <strong>of</strong> the various methods <strong>and</strong> tools used in implementing enterprise network management;<br />
Indicative Content: This course will cover the introduction to enterprise network management; the Internet <strong>and</strong><br />
ISO models, SNMP,ASN.I; structure <strong>of</strong> management information <strong>and</strong> MIB; Events <strong>and</strong> managed objects; EMS Vs<br />
NMS.NOC; remote <strong>and</strong> web-based management tools; OAM & P focus: operation, maintenance, performance<br />
monitoring <strong>and</strong> introduction <strong>of</strong> traffic engineering <strong>and</strong> load balancing.<br />
Reference Books:<br />
i. P. Oppenheimer, Top-Down Network Design, Cisco Press, 2nd edition, 2004.<br />
ii. A. Clemm, Network Management Fundamentals, Cisco Press, 1st edition, 2006.<br />
99
BIT 3205 Database (DB) Programming (4 CU)<br />
Course Description: By the end <strong>of</strong> this course, the student will: Underst<strong>and</strong> the use <strong>of</strong> SQLPlus <strong>and</strong> the SQL<br />
language with a fourth generation general purpose language to generate scripts, reports <strong>and</strong> database objects; Be able<br />
to write server side stored procedures <strong>and</strong> triggers; Apply the material in group database design <strong>and</strong> implementation<br />
<strong>of</strong> projects<br />
Indicative Content: In this course, students will design, critique <strong>and</strong> develop database applications using SQL with<br />
fourth generation languages <strong>and</strong> SQL embedded in third generation languages such as C. Topics include: modular<br />
design <strong>and</strong> development, module development, <strong>and</strong> compiling <strong>and</strong> linking. They also include use <strong>of</strong> triggers,<br />
embedded procedures, dynamic SQL preparation, <strong>and</strong> database cursors. Finally, exception <strong>and</strong> error h<strong>and</strong>ling <strong>and</strong><br />
development with in a local <strong>and</strong> distributed application environment will be discussed.<br />
Reference Books:<br />
i. G. Reese, Database Programming with JDBC <strong>and</strong> Java, O’Reilly Media, Inc.; 2nd edition, 2000.<br />
ii. M. Fisher, JDBC API Tutorial <strong>and</strong> Reference, Prentice Hall; 3rd edition, 2003.<br />
100
9.0 DEPARTMENT OF NETWORKS<br />
9.1 Introduction<br />
Traditional (isolated) IT solutions like desktop computing may have served us well in the past. But the growing<br />
need for ubiquitous computing in the 21st Century means these solutions can no longer meet the dem<strong>and</strong>s <strong>of</strong> the<br />
business communities. Today, users <strong>of</strong> computing technologies desire new ways <strong>of</strong> information access, <strong>and</strong> are<br />
dem<strong>and</strong>ing new computing models with secure access <strong>of</strong> services. To meet the emerging computing needs <strong>of</strong> the<br />
business <strong>and</strong> research communities, we think part <strong>of</strong> the answer lies in the well engineered data communication<br />
networks <strong>and</strong> s<strong>of</strong>tware solutions. Well engineered solutions, full <strong>of</strong> scientific insights allow for more dynamic,<br />
flexible <strong>and</strong> cheaper solutions with limited malfunctions.<br />
With the growing dem<strong>and</strong> <strong>of</strong> networked systems, the Department <strong>of</strong> Networks Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> IT,<br />
Makerere University has positioned herself as a number one centre in the region on data communication <strong>and</strong><br />
s<strong>of</strong>tware engineering teaching, research <strong>and</strong> consultancy. The department is internationally recognized for its work<br />
in the building IT human resource capacity in both the public <strong>and</strong> private sectors especially in universities. The<br />
department has trained thous<strong>and</strong>s <strong>of</strong> pr<strong>of</strong>essionals with theoretical <strong>and</strong> practical skills in the area <strong>of</strong> Data<br />
Communications Engineering, Network Administration, Mobile <strong>Computing</strong>, System Administration <strong>and</strong> S<strong>of</strong>tware<br />
Engineering. The team in the department continues to challenge itself for higher distinctions.<br />
The quest for better solutions to real problems has encouraged researchers in the department to establish strong<br />
partnerships with other institutions, private or public in the areas <strong>of</strong> Data Communication Networks, Mobile<br />
<strong>Computing</strong>, Digital security, S<strong>of</strong>tware Engineering <strong>and</strong> related disciplines. The collaborations <strong>of</strong> the department has<br />
established <strong>and</strong> aims at establishing focuses on human capacity building, optimal adaption <strong>of</strong> technology, research<br />
<strong>and</strong> development <strong>of</strong> new technologies.<br />
As a department, we are gratefully for the contribution made by our partners which include; NUFFIC, Nokia Inc.,<br />
HP Inc., Ug<strong>and</strong>a Police Force, Cisco Systems Inc., Google, MTN Ug<strong>and</strong>a, New Vision Group <strong>and</strong> Rockefeller<br />
Foundation.<br />
9.2 Bachelor <strong>of</strong> Science in S<strong>of</strong>tware Engineering Degree (BSc SE) Programme<br />
9.2.1 Overview<br />
This programme <strong>of</strong>fers a course <strong>of</strong> study leading to the B.Sc. in S<strong>of</strong>tware Engineering. The Bachelor <strong>of</strong> Science in<br />
S<strong>of</strong>tware Engineering Degree Programme will be <strong>of</strong>fered to give an opportunity to prospective students to undertake<br />
training in S<strong>of</strong>tware engineering at a bachelor’s degree level within Ug<strong>and</strong>a. With the growth <strong>of</strong> the ICT sector in<br />
Ug<strong>and</strong>a, there is need to produce graduates who are job creators using the skills obtained in s<strong>of</strong>tware Engineering.<br />
The objectives <strong>of</strong> the programme are;<br />
a) To produce graduates who are well-educated in the fundamental concepts <strong>of</strong> s<strong>of</strong>tware engineering <strong>and</strong> able<br />
to continue their pr<strong>of</strong>essional development throughout their careers. The course combines theory with<br />
consideration <strong>of</strong> its application in s<strong>of</strong>tware engineering practice.<br />
b) To build human resource capacity in the S<strong>of</strong>tware engineering discipline in both the public <strong>and</strong> private<br />
sectors to students who wish to become pr<strong>of</strong>icient in developing s<strong>of</strong>tware in a variety <strong>of</strong> languages,<br />
platforms <strong>and</strong> applications using a methodical approach.<br />
c) To produce graduates with good communication skills capable <strong>of</strong> functioning responsibly in diverse<br />
environments <strong>and</strong> able to work in teams.<br />
101<br />
Dr. Benjamin Kanagwa<br />
Head <strong>of</strong> Department
d) To produce graduates who are innovative <strong>and</strong> are capable <strong>of</strong> creating jobs;<br />
1. Target Group<br />
The revised programme targets three categories <strong>of</strong> people, namely Direct Entry, Diploma Holders <strong>and</strong> Mature Entry<br />
Scheme in relevant programmes.<br />
2. Minimum Admission Requirements<br />
Admission to the B.Sc. in S<strong>of</strong>tware Engineering (BSc.SE) degree course will be through three avenues; Direct Entry,<br />
Mature age <strong>and</strong> Diploma entry schemes. To be admitted for a course leading to an award <strong>of</strong> Bachelor <strong>of</strong> Science in<br />
S<strong>of</strong>tware Engineering (BSc.SE) Degree, a c<strong>and</strong>idate must satisfy the general admission requirements for Makerere<br />
University. In addition, the following regulations shall hold:<br />
a) Direct Entry<br />
C<strong>and</strong>idates seeking admission through this avenue must have obtained:<br />
i. At least two principal passes at the same sitting in Ug<strong>and</strong>a Advanced Certificate <strong>of</strong> Education (UACE)<br />
<strong>of</strong> which one <strong>of</strong> them must be in either Mathematics or Physics.<br />
ii. A minimum weighted points set by the Admissions Board.<br />
iii. For purposes <strong>of</strong> computing weighted points, the A- level subjects shall be grouped <strong>and</strong> weighted as follows:<br />
Group Weight Subjects<br />
Essential 3 Any two best done subjects among: Mathematics, Physics,<br />
Economics, Chemistry, Biology, Geography, Literature,<br />
Entrepreneurship, Technical Drawing <strong>and</strong> Fine Art<br />
Relevant 2 Any other best done subject <strong>of</strong> all A’ level subjects<br />
Desirable 1 General Paper, Sub-Mathematics<br />
Others 0.5 All others.<br />
b) Mature Entry Scheme<br />
For admission under Mature Entry Scheme, a c<strong>and</strong>idate must have passed a Makerere University Mature Age<br />
Entry Examinations.<br />
c) Diploma Holders<br />
Applicants should possess at least a second class (lower division) Diploma in Computer Science, Engineering,<br />
Statistics or any other diploma with either Mathematics or Computer Science as one <strong>of</strong> the subjects from any<br />
recognized institution.<br />
3. Nature <strong>of</strong> the Programme<br />
The day programme has both government <strong>and</strong> privately sponsored students. The evening programme has privately<br />
sponsored students only.<br />
4. Duration<br />
The duration <strong>of</strong> the programme shall be three (4) academic years consisting <strong>of</strong> eight semesters <strong>and</strong> two recess terms.<br />
Each semester lasts for seventeen (17) weeks <strong>and</strong> two (2) weeks <strong>of</strong> which are for examinations.<br />
5. Tuition Fees<br />
Tuition fees for privately sponsored students shall be 2,600,000 Ug<strong>and</strong>a Shillings per year for Ug<strong>and</strong>ans <strong>and</strong><br />
5,050,000 Ug<strong>and</strong>a Shillings per year for non Ug<strong>and</strong>ans. This is the same tuition fees for the existing curriculum.<br />
6. Semester Load <strong>and</strong> Minimum Graduation Load<br />
102
The normal semester load is between 15 <strong>and</strong> 21 credit units. The minimum graduation load is 167 credit units<br />
for courses passed including all the compulsory courses <strong>and</strong> required number <strong>of</strong> electives within a period<br />
stipulated by the University.<br />
9.2.2 Programme Structure<br />
Details <strong>of</strong> the Programme structure as specified below where CU, LH, PH, TH, <strong>and</strong> CH represent Credit Units,<br />
Lecture Hours, Practical Hours, Tutorial Hours <strong>and</strong> Contact Hours respectively.<br />
Code Course Title CU LH TH PH CH<br />
Semester 1<br />
CSK 1101 Communication Skills 3 30 30 -- 45<br />
CSC 1100 Computer Literacy 4 45 -- 30 60<br />
BIT 1102 Communication Technology <strong>and</strong> Internet 4 45 -- 30 60<br />
BSE 1103 Systems Analysis <strong>and</strong> Design 3 30 30 -- 45<br />
BSE 1104 Discrete Mathematics 3 30 30 -- 45<br />
BSE 1105 Business Law 3 30 30 -- 45<br />
Semester 2<br />
BSE 1200 S<strong>of</strong>tware Development Principles I 4 45 -- 30 60<br />
BSE 1202 Principles <strong>of</strong> Programming I 4 45 -- 30 60<br />
BSE 1201 Numerical Analysis 3 30 30 -- 45<br />
CSC 1203 Information Systems 3 30 30 -- 45<br />
BSE 1205 Introduction to Internet Programming 4 45 -- 30 60<br />
CSC 1204 Research Methodology 3 30 30 -- 45<br />
Year 1: Recess Term:<br />
BSE 1301 Pr<strong>of</strong>essional S<strong>of</strong>tware Engineering Mini Practical Project I 4 -- -- 120 60<br />
Semester 3:<br />
BSE 2101 Introduction to Database Systems 4 45 -- 30 60<br />
BSE 2102 S<strong>of</strong>tware Development Principles II 4 45 -- 30 60<br />
BSE 2103 Principles <strong>of</strong> Programming II 4 45 -- 30 60<br />
CSC 2100 Data Structures <strong>and</strong> Algorithms 4 45 -- 30 45<br />
BSE 2104 Computer Architecture 3 30 30 -- 45<br />
BSE 2105 Formal Methods 3 30 30 -- 45<br />
Electives: (No Elective Course)<br />
Semester 4<br />
BSE 2200 System S<strong>of</strong>tware 4 45 -- 30 60<br />
BSE 2201 Network Application Development 4 45 -- 30 60<br />
BSE 2202 Embedded Systems S<strong>of</strong>tware 4 45 -- 30 60<br />
BSE 2203 Computer Networks <strong>and</strong> Data communication 4 45 -- 30 60<br />
BSE 2204 Modeling in Information Systems 4 45 -- 30 60<br />
Electives: (No Elective Course)<br />
Year 2: Recess Term:<br />
BSE 2301 Pr<strong>of</strong>essional S<strong>of</strong>tware Engineering Mini Practical Project II 4 -- -- 120 60<br />
Semester 5<br />
BSE 3101 IT Projects Management <strong>and</strong> Development 4 45 -- 30 60<br />
BSE 3102 Object-Oriented S<strong>of</strong>tware Engineering 4 45 -- 30 60<br />
BSE 3103 Requirements Engineering 4 45 -- 30 60<br />
CSC 3100 Database Management Systems 4 45 -- 30 60<br />
103
BSE 3104 S<strong>of</strong>tware Metrics 3 30 -- 30 45<br />
Electives: (At least 1 Elective Course)<br />
BSE 3105 S<strong>of</strong>tware Evolution 4 45 -- 30 60<br />
BSE 3106 Mobile Networks <strong>and</strong> <strong>Computing</strong> 4 45 30 -- 60<br />
BSE 3107 Real-Time <strong>and</strong> Embedded Systems 4 45 -- 30 60<br />
Semester 6<br />
BSE 3201 S<strong>of</strong>tware Architecture 4 45 -- 30 60<br />
BSE 3202 Distributed Systems Development 4 45 -- 30 60<br />
BSE 3203 Object-Oriented Programming 4 45 -- 30 60<br />
BSE 3204 Human-Computer Interface Design 4 45 -- 30 60<br />
Electives: (At least 1 Elective Course)<br />
BSE 3205 Unix Shell Programming 4 45 -- 30 60<br />
CSC 3202 Concepts <strong>of</strong> CAD/CAM 4 45 -- 30 60<br />
BSE 3206 Computer Graphics 4 45 -- 30 60<br />
Year 3: Recess Term:<br />
BSE 3301 Internship 4 -- -- 120 60<br />
Semester 7<br />
BSE 4100 S<strong>of</strong>tware Engineering Project I 5 -- -- 150 75<br />
BSE 4101 S<strong>of</strong>tware Reliability <strong>and</strong> Testing 4 45 -- 30 60<br />
BSE 4102 Ethics for Pr<strong>of</strong>essional Engineers 3 30 30 -- 45<br />
BSE 4103 Entrepreneurship <strong>and</strong> Business 3 30 30 -- 45<br />
Semester 8:<br />
BSE 4200 S<strong>of</strong>tware Engineering Project II 5 -- -- 150 75<br />
BSE 4201 S<strong>of</strong>tware Design Patterns 4 45 30 -- 60<br />
BSE 4203 Information Technology <strong>and</strong> Society 3 30 30 -- 45<br />
BSE 4204 Emerging trends in s<strong>of</strong>tware engineering 3 30 30 -- 45<br />
9.2.3 Course Unit Description<br />
CSK 1101: Communication Skills (3 CU)<br />
Course Description: This course provides students with skills <strong>of</strong> effective communication. These include verbal,<br />
written, <strong>and</strong> gesture. The course aims at facilitating students appropriately <strong>and</strong> clearly communicate with others. The<br />
aims <strong>of</strong> the course unit are to: Improve the communication competencies <strong>of</strong> the student; Improve problem solving<br />
strategies <strong>of</strong> students; improve the art <strong>of</strong> critical thinking within the student; improve the student’s ability to collect<br />
<strong>and</strong> synthesize information; provide students with knowledge to utilize the library <strong>and</strong> other educational resources.<br />
Indicative Content:<br />
• Writing Skills: Thinking critically/selectively before the writing process; selecting the relevant details;<br />
organising the relevant details logically; writing the reports essays, letters <strong>and</strong> taking notes in appropriate<br />
register; avoiding ambiguities, fallacies, irrationalities; providing supportive evidence; editing documents,<br />
pro<strong>of</strong> reading; writing <strong>and</strong> exp<strong>and</strong>ing information; Quoting <strong>and</strong> citing references; writing a curriculum<br />
vitae.<br />
• Reading Skills: The use <strong>of</strong> skimming; scanning inference <strong>and</strong> prediction in reading; Intensive <strong>and</strong> critical<br />
reading; Acquisition <strong>of</strong> specific reading skills; Interpretation <strong>of</strong> non linear texts; Locating information <strong>and</strong><br />
comprehension.<br />
• Speaking <strong>and</strong> Listening Skills to Enhance Effective Public Relations: The art <strong>of</strong> persuasion in effective<br />
speaking; Conducting interviews; Conducting meetings; Participating in group discussions <strong>and</strong> tutorials;<br />
104
Non verbal communication clues; Presentation seminars, seeking clarification etc.; Expression <strong>of</strong><br />
politeness; Public speaking; Proper listening skills.<br />
• Examination Skills; Preparing for examinations: How much one gets from group discussions; Proper<br />
revision; Underst<strong>and</strong>ing examination rubric; Budgeting time during examination process; Writing<br />
examinations <strong>and</strong> following instructions<br />
Reference Books:<br />
i. B. Bough, 101 ways to improve your communication skills instantly, 4th edition, 2005.<br />
ii. P. Klavs, The hard Truth About s<strong>of</strong>t skills: Work Place Lessons Smart People wish they had learned sooner,<br />
2008.<br />
CSC 1100: Computer Literacy (4 CU)<br />
Course Description: In this course, students are to learn about the basic organization, concepts <strong>and</strong> terminologies in<br />
a computerized environment. They are also to get an in depth underst<strong>and</strong>ing <strong>of</strong> common computer applications. The<br />
use <strong>of</strong> related applications in different operating systems will be explored. The aims <strong>of</strong> the course unit are to: Equip<br />
students with basic knowledge about computer organization; Equip students with skills <strong>of</strong> using common <strong>of</strong>fice<br />
applications; Expose students to different operating systems; Equip students with skills <strong>of</strong> how to use the Internet;<br />
<strong>and</strong> equip students with knowledge about common text editors in different operating systems. On completion <strong>of</strong> this<br />
course unit, the students will be able to: Describe the different parts <strong>of</strong> a computer; describe the historical evolution<br />
<strong>of</strong> computers; competently use the common <strong>of</strong>fice applications in at least two operating systems <strong>and</strong> competently<br />
use common text editor in at least two operating systems.<br />
Indicative Content: General computer organisation; Historical perspectives <strong>of</strong> computing; common Micros<strong>of</strong>t<br />
<strong>of</strong>fice packages; <strong>of</strong>fice packages in other operating systems; text editors; Common Linux <strong>and</strong> Using the web.<br />
Reference Books:<br />
i. J. Preston, R. Ferret <strong>and</strong> S. Gaskin, Computer Literacy, 2007.<br />
ii. J. Janrich <strong>and</strong> D. Oja, Practical Computer Literacy, 2001.<br />
BIT 1102 Communications Technology & Internet (3 CU)<br />
Course Description: This course is intended to be at the introductory level in a curriculum <strong>and</strong> to provide<br />
foundation skills for subsequent network-related courses, for example, Internet Programming. It provides an<br />
overview <strong>of</strong> Communications Technology <strong>and</strong> Internet. The goal is to help students underst<strong>and</strong> the role <strong>and</strong> meaning<br />
<strong>of</strong> Communications Technology <strong>and</strong> Internet in the contemporary world. The course aims to: Give students main<br />
guidelines for the future study <strong>of</strong> networks-related courses; Develop their knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> core<br />
networking concepts <strong>and</strong> technologies; Internet <strong>and</strong> intranet tools; basics <strong>of</strong> networking protocols; basics <strong>of</strong> network<br />
security; core Internet infrastructure; personal, business, social, legal <strong>and</strong> ethical implications <strong>of</strong> Internet governance<br />
Indicative Content: Networking Concepts; Internet <strong>and</strong> Intranet Tools; Protocols; Security; Internet; Infrastructure<br />
<strong>and</strong> Governance – Personal, Business, Social, Legal <strong>and</strong> Ethical; Implications<br />
Reference Books:<br />
i. D. E. Comer, The Internet Book, Prentice Hall Inc., Upper Saddle River, 2000.<br />
ii. D. Amor, Internet Future Strategies: How Pervasive <strong>Computing</strong> Services Will Change the World, Prentice<br />
Hall Inc., Upper Saddle River, 2002.<br />
iii. I. Zeid, Mastering the Internet <strong>and</strong> HTML, Prentice Hall Inc., Upper Saddle River, 2000.<br />
iv. Internet Getting Started, Editions ENI, Nantes, 2001.<br />
v. A. E. Grant, J. H, Meadows, Communication Technology Update <strong>and</strong> Fundamentals, Focal Press, 2008.<br />
vi. M. Mirabito, B. Morgenstern, The New Communications Technologies, 5th edition: Applications, Policy,<br />
<strong>and</strong> Impact, Focal Press, 2004.<br />
105
vii. M. Mirabito, B. Morgenstern, Communication Technology <strong>and</strong> Social Change: Theory <strong>and</strong> Implications<br />
Lea's Communication Series, Lawrence Erlbaum, 2006.<br />
BSE 1103: System Analysis <strong>and</strong> Design (3 CU)<br />
Course Description: This course introduces established <strong>and</strong> evolving methodologies for the analysis <strong>and</strong> design <strong>of</strong><br />
an information system. Great emphasis is placed on system characteristics, managing projects, prototyping,<br />
CASE/OOM tools, systems development life cycle phases, the role <strong>of</strong> the systems analyst, systems selection,<br />
definition <strong>of</strong> systems requirements, feasibility analysis, system design, <strong>and</strong> system architecture are topics included.<br />
Upon completion, students should be able to analyze a problem <strong>and</strong> design an appropriate solution using a<br />
combination <strong>of</strong> tools <strong>and</strong> techniques.<br />
Indicative Content:<br />
• SAD Fundamentals: Introduction to IS & types <strong>of</strong> IS; Need for SAD & role <strong>of</strong> Analyst; SDLC & use <strong>of</strong><br />
CASE tools; Determining feasibility & mgt <strong>of</strong> SAD activities.<br />
• Information Requirements Analysis Information gathering (Interactive methods, unobtrusive methods,<br />
RAD, prototyping); Determining Systems requirements (types <strong>of</strong> requirements)<br />
• The Analysis Process: Structuring systems requirements (describing process specifications & structured<br />
decisions) Data modelling; Process modelling; Preparing System proposals.<br />
• The Design Process: Designing effective output; Designing effective input (Accurate Data entry<br />
Procedures); User Interface design; Database Design.<br />
• System Implementation: Quality Assurance through S<strong>of</strong>tware Engineering (design with structured charts,<br />
testing, maintenance, auditing, Quality mgt); Implementing Information Systems (user training, conversion<br />
strategies, systems evaluation<br />
• Project Management: Stages <strong>of</strong> system Development; Project planning; Estimation & Project Monitoring &<br />
Control<br />
• Introduction to Object-oriented Systems Analysis & Design using UML<br />
Reference Books:<br />
i. Kendall & Kendall, Systems Analysis <strong>and</strong> Design, 6th edition, Pearson Prentice Hall, 2005.<br />
ii. J. A. H<strong>of</strong>fer, J. F. George <strong>and</strong> J. S. Valacich , Modern Systems Analysis <strong>and</strong> Design, 2nd edition, Addison-<br />
Wesley, 1999.<br />
BSE 1104: Discrete Mathematics (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student will: Be familiar with the terminology,<br />
operations, <strong>and</strong> symbols <strong>of</strong> set theory, <strong>and</strong> with formal logic; Be able to use logic to determine the validity <strong>of</strong> an<br />
argument; Be able to construct the pro<strong>of</strong> <strong>of</strong> a theorem directly, by the contra positive, by cases, by contradiction, by<br />
truth table, by counter-example, <strong>and</strong> by mathematical induction; Be able to identify a relation; specifically, a partial<br />
order, equivalence relation, or total order; Be able to identify a function; specifically, subjective, injective, <strong>and</strong><br />
objective functions; Be able to perform operations on matrices; Be familiar with the terminology for graphs <strong>and</strong><br />
trees; Be able to trace Euler <strong>and</strong> Hamiltonian paths; Be able to construct minimal spanning trees <strong>and</strong> adjacency<br />
matrices for graphs; Have begun to develop a logical mode <strong>of</strong> thought that will be applicable to computer design,<br />
both hardware <strong>and</strong> s<strong>of</strong>tware.; Be able to underst<strong>and</strong> sequential logic; Be able to underst<strong>and</strong> sets <strong>and</strong> relations <strong>and</strong> be<br />
able to represent information using zeros <strong>and</strong> ones.<br />
Indicative Content: Set algebra, logic, relations <strong>and</strong> functions, recursion, matrices; graph theory, <strong>and</strong> methods <strong>of</strong><br />
pro<strong>of</strong>. Emphasis is on an algorithmic approach; Set theory; Methods <strong>of</strong> pro<strong>of</strong>; Recursion; Matrix algebra; Graphs<br />
<strong>and</strong> trees. Application to data structure <strong>and</strong> graph representations, partial ordered sets, trees, algebraic structures,<br />
lattices <strong>and</strong> Boolean algebra, semi groups, groups, introduction to grammars <strong>and</strong> machines <strong>and</strong> languages, error<br />
correcting codes; Representation <strong>of</strong> information two’s complement arithmetic. Combinational logic: switching<br />
106
algebra, canonical forms, Karnaugh maps, combinational network analysis <strong>and</strong> design, MSI modules. Sequential<br />
logic: latch, flip-flop <strong>and</strong> logic design, state diagram, sequential network analysis <strong>and</strong> synthesis, register, counter,<br />
memory organization.<br />
Reference Books:<br />
i. L.S. Bobrow, <strong>and</strong> M. A. Arbib, Discrete Mathematics: Applied Algebra for Computer <strong>and</strong> Information<br />
Science, Philadelphia, PA: Saunders, 1974.<br />
ii. J. A, Dossey, A, D, Otto, L. Spence, <strong>and</strong> C. V. Eynden, Discrete Mathematics, 3rd edition. Reading, MA:<br />
Addison-Wesley, 1997.<br />
iii. K. Balakrishnan, Introductory Discrete Mathematics, New York: Dover, 1997.<br />
BSE 1105: Business Law (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student will: Underst<strong>and</strong> the basic nature <strong>of</strong> the<br />
legal system including the court structure <strong>and</strong> the role <strong>of</strong> lawyers; Underst<strong>and</strong> the different types <strong>of</strong> torts <strong>and</strong> crimes;<br />
Be familiar with contract law including all the elements <strong>of</strong> a contract under the common law as well as the Uniform<br />
Commercial Code; Underst<strong>and</strong> the basic theories <strong>of</strong> products liability law; Be familiar with the creation <strong>of</strong> security<br />
interests <strong>and</strong> the rules that secured creditors must follow; Underst<strong>and</strong> the basic features <strong>of</strong> bankruptcy law;<br />
Underst<strong>and</strong> the general nature <strong>of</strong> an agency relationship<br />
Indicative Content: This subject acquaints the student with legal concepts <strong>and</strong> their application to business <strong>and</strong><br />
personal situations. Attention is paid to problems arising under the following topical headings: basic nature <strong>of</strong> the<br />
legal system; tort law; contract law, including both common law principles <strong>and</strong> the provisions <strong>of</strong> the Uniform<br />
Commercial Code; products liability law; debtor/creditor relations; bankruptcy law; <strong>and</strong> agency law. Introduction to<br />
Legal System; Tort <strong>and</strong> Criminal law; Contract Law; Uniform Commercial Code; Products Liability Law; Secured<br />
Transactions; Bankruptcy; Agency.<br />
Reference Books:<br />
i. Ibp Usa <strong>and</strong> Emerging Markets Investment Center, Ug<strong>and</strong>a Business Law <strong>H<strong>and</strong>book</strong>, International<br />
Business Publications, USA; 2nd edition, 1999.<br />
BSE 1200: Principles <strong>of</strong> S<strong>of</strong>tware Development I (4 CU)<br />
Course Description: Upon successful completion, the student should be able to: Demonstrate mastery <strong>of</strong> the<br />
s<strong>of</strong>tware development process, describing core activities at various levels <strong>of</strong> s<strong>of</strong>tware development; Perform<br />
requirement analysis <strong>of</strong> a simple s<strong>of</strong>tware systems; Manage a team <strong>of</strong> developers; Demonstrate knowledge <strong>of</strong> at<br />
least one tool <strong>of</strong> s<strong>of</strong>tware documentation; Work in a team; <strong>and</strong> design, develop, test <strong>and</strong> valid a s<strong>of</strong>tware product.<br />
Indicative Content: Introduction: What is s<strong>of</strong>tware engineering? Phases in the development <strong>of</strong> s<strong>of</strong>tware; S<strong>of</strong>tware<br />
Management: Planning <strong>and</strong> controlling a s<strong>of</strong>tware development project. Requirements analysis: Requirements<br />
specification, humans as information sources, tools for documenting the requirements (SADT, PSL/PSA, Ada-based<br />
analysis methods). S<strong>of</strong>tware design: Abstraction, modularity, information hiding, design methods, design<br />
documentation; Testing: Test objectives, verification <strong>and</strong> validation, manual test techniques, techniques for<br />
functional <strong>and</strong> structural testing.<br />
Reference Books:<br />
i. B. Boehm <strong>and</strong> R. Turner, Balancing Agility <strong>and</strong> Discipline: A Guide for the Perplexed, Addison Wesley<br />
Pr<strong>of</strong>essional, 2003.<br />
ii. A. M. Davis, 201 Principles <strong>of</strong> S<strong>of</strong>tware Development, McGraw-Hill, March, 1995.<br />
BSE 1201: Numerical Analysis (4 CU)<br />
Course Description: Upon completion <strong>of</strong> the course, the student should be able to: Demonstrate factual knowledge<br />
including the mathematical notation <strong>and</strong> terminology used in the course; Describe the fundamental principles<br />
including the laws <strong>and</strong> theorems arising from the concepts covered in this course; Apply course material along with<br />
107
techniques <strong>and</strong> procedures covered in this course to solve practical problems; <strong>and</strong> write numerical Programmes,<br />
such as Mat lab Programmes, to solve the above problems.<br />
Indicative Content: Numerical linear algebra, numerical solution <strong>of</strong> systems <strong>of</strong> non-linear equations,<br />
approximations, Fast Fourier-Transformation, numerical integration, deference equations <strong>and</strong> numerical solution <strong>of</strong><br />
ordinary differential equations. Problem solving is an important part <strong>of</strong> the course.<br />
Reference Book:<br />
i. R. L. Burden, <strong>and</strong> D. J, Faires, Numerical Analysis, Brooks/Cole Publishing Co., Pacific Grove, CA, 8th<br />
edition, 2001.<br />
BSE 1202: Principles <strong>of</strong> Programming I (4 CU)<br />
Course Description: Upon completion <strong>of</strong> the course, the student should be able to: Demonstrate mastery <strong>of</strong> basic<br />
programming concepts, like Programme structure <strong>and</strong> control, Application Programme Interface (API), memory<br />
management among others; Demonstrate sufficient underst<strong>and</strong>ing <strong>of</strong> Java as a programming language; Develop<br />
simple web <strong>and</strong> st<strong>and</strong> alone applications in Java; Work with an Integrate Development Kit like NETBEANS with<br />
minimal difficulties; <strong>and</strong> differentiate the various programming languages (i.e., in terms <strong>of</strong> their strength <strong>and</strong><br />
weakness).<br />
Indicative Content: An introduction to the Java programming language. The course will include an introduction to<br />
the concepts <strong>of</strong> object oriented programming <strong>and</strong> will show how Java supports this programming paradigm.<br />
Students will learn about the Java environment <strong>and</strong> will write both applets (programs that execute in a Web browser)<br />
<strong>and</strong> applications (st<strong>and</strong> alone Programme). In addition to learning about basic language statements, students will<br />
also learn how Java provides support for such diverse applications as Web pages, multimedia, educational, etc<br />
Reference Books:<br />
i. R. W. Sebesta, Concepts <strong>of</strong> Programming Languages, 5th edition, Addison Wesley, 2002.<br />
ii. R. Sethi, Progamming Languages: Concepts <strong>and</strong> Constructs, 2nd edition. Addison Wesley, 1996.<br />
iii. Y. D. Liang, Introduction to Java Programming: Comprehensive Version, Prentice Hall, 2006.<br />
BSE 1204: Introduction to Internet Programming (4 CU)<br />
Course Description: On successfully completing this course, students will be able to: Set up a Net development<br />
including environment, including MSDE; Apply core ASP.NET technologies to develop Web applications; Author<br />
server-side ASP.NET code in C#; Create Web applications are using ADO.NET to interact with SQL Server; <strong>and</strong> (v)<br />
Write ASP.NET pages that integrate into traditional DHTML-driven pages.<br />
Indicative Content: ASP.NET development fundamentals, providing h<strong>and</strong>s-on experience through the building <strong>of</strong><br />
a fully functional time <strong>and</strong> expense tracking application like TimeEx. Starting with an overview <strong>of</strong> server-side<br />
technologies, it then goes into the C# (C Sharp) programming language commonly used for ASP.NET <strong>and</strong> database<br />
development utilizing MSDE (Micros<strong>of</strong>t SQL Server Desktop Engine). Particular attention is given to techniques for<br />
integrating ASP.NET pages with the advanced client-side (DHTML) technologies covered first.<br />
Reference Books:<br />
ii. Z. Ruvalcaba, Build Your Own ASP.NET Website Using C# &VB.NET, 1st edition.<br />
iii. P. J. Deite <strong>and</strong> H. M. Deitel, Internet & World Wide Web: How to Programme, Prentice Hall; 4th edition,<br />
2007.<br />
iv. S. Walther, ASP.NET Unleashed, Sams Publishing, 2003.<br />
v. K. Kalata, Internet Programming with VBScript <strong>and</strong> JavaScript (Web warrior series), Course Technology,<br />
1st edition, 2000.<br />
108
CSC 1203: Information Systems (3 CU)<br />
Course Description: On completion <strong>of</strong> this course, the students should have achieved the following: An<br />
underst<strong>and</strong>ing <strong>of</strong> characteristics <strong>of</strong> information systems <strong>and</strong> their management; Technology <strong>and</strong> its effective<br />
utilization within organizations; Skills in evaluating <strong>and</strong> applying appropriate methods <strong>and</strong> technologies for<br />
representing, managing <strong>and</strong> disseminating information; <strong>and</strong> Skills in contributing to information system<br />
implementation using sound principles, an appreciation <strong>of</strong> the necessary legal, ethical <strong>and</strong> pr<strong>of</strong>essional values; An<br />
underst<strong>and</strong>ing <strong>of</strong> information services; Underst<strong>and</strong>ing <strong>of</strong> principles <strong>of</strong> secure computing; Core considerations <strong>of</strong><br />
information systems acquisition <strong>and</strong> adaptation; <strong>and</strong> basic project management skills.<br />
Indicative Content: Information Systems fundamentals; The role <strong>of</strong> Information Systems in an organisation; The<br />
shift from Data Processing Systems via Information Systems to Knowledge-Based Systems; Information Systems<br />
boundaries; How information <strong>and</strong> knowledge add value to an organization; The Information Technology component<br />
<strong>of</strong> Information Systems; Information Systems Engineering. Organizational strategies <strong>and</strong> objectives; Strategic<br />
planning; Human resource development; Budgeting, costing, charging, hire versus buy decisions; Hardware <strong>and</strong><br />
s<strong>of</strong>tware procurement: request for proposal, evaluation, selection, contracting <strong>and</strong> maintenance; Security in<br />
computing: continuity <strong>of</strong> processing, controls <strong>and</strong> planning for st<strong>and</strong>by; Computer audit; Project management:<br />
approaches, tools, site planning <strong>and</strong> installation; Implementation strategy; The Information Center;<br />
Reference Books:<br />
i. R. Stair <strong>and</strong> G. Reynolds, Fundamentals <strong>of</strong> Information Systems, Course Technology; 5th edition, 2009.<br />
ii. N. Kumar, Management Information System, Anmol Publications PVT. LTD.<br />
iii. L. Jessup <strong>and</strong> J. Valacich, Information Systems Today: Managing in the Digital World, Prentice Hall, 3rd<br />
edition, 2007.<br />
iv. J. A. O’Brien, Introduction to Information Systems: Essentials for the Internet Worked Enterprise,<br />
Irwin/McGraw-Hill, 2000.<br />
BSE 1205: Research Methodology (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the student should be able to: Identify interesting<br />
problems <strong>of</strong> research <strong>and</strong> develop appropriate strategies to address the problems identified; Demonstrate ethical<br />
consideration in conduction research; Show knowledge <strong>and</strong> underst<strong>and</strong>ing <strong>of</strong> Statistical <strong>and</strong> non-Statistical Research<br />
Methods; Use statistical packages to analyze data <strong>and</strong> make scientifically sound conclusions based on the analysis;<br />
Interpret, explain, <strong>and</strong> experiment through writing, oral presentation, various multi-media modes, <strong>and</strong> in a classroom<br />
setting; <strong>and</strong> demonstrate reflective, reflexive, creative, interpretative, evaluative, critical, <strong>and</strong> analytical thinking<br />
skills.<br />
Indicative Content: This course is an introduction to research, statistical analysis, <strong>and</strong> decision making. Close<br />
attention is paid to data types, data contributions, the identification <strong>of</strong> variables, <strong>and</strong> descriptive data presentation<br />
techniques. Students are introduced to both parametric <strong>and</strong> nonparametric data analysis procedures including<br />
independent <strong>and</strong> dependent sample tests, chi-square analysis, <strong>and</strong> simple analysis <strong>of</strong> variance. Hypothesis testing<br />
<strong>and</strong> the use <strong>of</strong> statistical s<strong>of</strong>tware packages are emphasized.<br />
Reference Books;<br />
i. J. M. Ruane, Essentials <strong>of</strong> Research Methods, Montclair State University, 2004.<br />
BSE 1301: Pr<strong>of</strong>essional S<strong>of</strong>tware Engineering Mini Practical Project I (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the student should: Demonstrate mastery <strong>of</strong> a<br />
specific programming language <strong>and</strong> development platform; Carry out requirement engineering for a particular<br />
project; <strong>and</strong> demonstrate ability to develop a mini application or systems with minimal difficulty.<br />
Indicative Content: An introduction to a specific pr<strong>of</strong>essional s<strong>of</strong>tware certification course is covered.<br />
109
Reference Books:<br />
i. A. Koenig <strong>and</strong> B. E. Moo, Accelerated C++: Practical Programming by Example, Addison-Wesley, 2008.<br />
ii. J. Friesen, Beginning Java SE 6 Platform: From Novice to Pr<strong>of</strong>essional, , Apress October 2007,<br />
iii. S. Karam, <strong>and</strong> R. Freeman, Easy Oracle Jumpstart: Oracle Database Management Concepts <strong>and</strong><br />
Administration.<br />
iv. S. Feuerstein, B. Pribyl <strong>and</strong> C. Dawes, Oracle PL/SQL Language Pocket Reference, 4th edition, OReilly,<br />
2007.<br />
BSE 2102: S<strong>of</strong>tware Development Principles II (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the c<strong>and</strong>idate should be: Able to describe the<br />
history <strong>of</strong> s<strong>of</strong>tware development <strong>and</strong> s<strong>of</strong>tware life cycle management; Able to address various challenges <strong>of</strong> user<br />
interface design <strong>and</strong> adaption; Demonstrate ability to carry out system feasibility study <strong>and</strong> document requirements;<br />
Able to carry out s<strong>of</strong>tware modularization using one <strong>of</strong> the most popular s<strong>of</strong>tware design tools; Show ability to<br />
manage a s<strong>of</strong>tware development process; Able to design, implement <strong>and</strong> deploy a s<strong>of</strong>tware product; <strong>and</strong> Able to<br />
performance s<strong>of</strong>tware correctness <strong>and</strong> testing with minimum difficulties.<br />
Indicative Content: History <strong>of</strong> s<strong>of</strong>tware design <strong>and</strong> development, S<strong>of</strong>tware crisis, S<strong>of</strong>tware life cycle Management<br />
issues, User interfacing, Documentation, Requirements Analysis <strong>and</strong> Definition, Feasibility study, System<br />
specification, Functional s<strong>of</strong>tware specification Methods, Tools, Design Methodologies: structured design,<br />
functional decomposition, data-flow (data-driven), data structure (Jackson), object-oriented design, Tools:<br />
abstraction, structure chart, data-flow diagram, Programme design language, structured walkthrough,<br />
Implementation <strong>and</strong> Testing, Programming environments, teams, languages, <strong>and</strong> style, Strategies for maintainability<br />
<strong>and</strong> reusability, Test case design, Programme testing, <strong>and</strong> system testing, Quality assurance, verification, validation,<br />
reliability, Testing methodologies, Evolution, Operation; performance analysis <strong>and</strong> measurement Maintenance<br />
Reference Books:<br />
i. B. Boehm <strong>and</strong> R. Turner, Balancing Agility <strong>and</strong> Discipline: A Guide for the Perplexed, Addison Wesley<br />
Pr<strong>of</strong>essional, 2003<br />
ii. A. M. Davis, 201 Principles <strong>of</strong> S<strong>of</strong>tware Development, McGraw-Hill, 1995<br />
BSE 2105: Formal Methods (3 CU)<br />
Course Description: Demonstrate factual knowledge including the mathematical notation <strong>and</strong> terminology used in<br />
the course; Be able describe the fundamental principles including the laws <strong>and</strong> theorems arising from the concepts<br />
covered in this course; Be able to apply course material along with techniques <strong>and</strong> procedures covered in this course<br />
to solve practical problems; <strong>and</strong> demonstrate programming skills by writing numerical Programmes, such as Mat lab<br />
Programmes, to solve the above problems.<br />
Indicative Content: Foundations; Basic concepts; Verification; Tools <strong>and</strong> systems; animation – Mir<strong>and</strong>a <strong>and</strong> ZANS<br />
Nitpick; The OBJ family <strong>of</strong> languages, LARCH. Optional Topics (as time permits): State charts, Integrated creation<br />
<strong>of</strong> a Programme <strong>and</strong> its correctness pro<strong>of</strong> 3; Automatic Programme synthesis, Scripting Languages.<br />
Reference Books:<br />
i. A. Diller, Z: An Introduction to Formal Methods, 2nd edition, Wiley, 1994.<br />
ii. M. Huth <strong>and</strong> M. Ryan, Logic in Computer Science: Modelling <strong>and</strong> Reasoning about Systems, Cambridge<br />
University Press; 2nd edition,2004.<br />
iii. R .Gupta, P. Le Guernic, S. K. Shukla, <strong>and</strong> J. P. Talpin, Formal Methods <strong>and</strong> Models for System Design: A<br />
System Level Perspective, (Eds.), 2004.<br />
110
BSE 2103: Principles <strong>of</strong> Programming II (4 CU)<br />
Course Description: Upon successful completion the students should be able to: Demonstrate mastery <strong>of</strong> core<br />
programming concepts, like Programme structure <strong>and</strong> control, Application Programme Interface (API), memory<br />
management among others; Demonstrate sufficient underst<strong>and</strong>ing <strong>of</strong> object oriented programming; Develop<br />
complex web <strong>and</strong> st<strong>and</strong> alone applications; Work with an Integrate Development Kit like NETBEANS with minimal<br />
difficulties; <strong>and</strong> differentiate the various programming languages (i.e., in terms <strong>of</strong> their strength <strong>and</strong> weakness). The<br />
Indicative Content: Formal definition <strong>of</strong> structures: formal description <strong>of</strong> syntax <strong>and</strong> semantics; Meta - Language;<br />
Comparative studies <strong>of</strong> programming languages <strong>and</strong> language design concepts: structural organization, structures for<br />
names, data abstractions, concurrency; Functional, object oriented, <strong>and</strong> logic programming languages <strong>and</strong> concepts;<br />
Language design principles.<br />
Reference Books:<br />
i. R.W. Sebesta, Concepts <strong>of</strong> Programming Languages, 5th edition, Addison Wesley, 2002.<br />
ii. R. Sethi, Progamming Languages: Concepts <strong>and</strong> Constructs, 2nd edition. Addison Wesley. 1996.<br />
iii. Y. Daniel Liang, Introduction to Java Programming: Comprehensive Version, Prentice Hall, 2006.<br />
CSC 2100: Data Structures <strong>and</strong> Algorithms (4 CU)<br />
Course Description: Upon successful completion the students should be able to: Demonstrate factual knowledge<br />
including the mathematical notation, syntax <strong>and</strong> terminology used in the course; describe the fundamental principles<br />
including the laws <strong>and</strong> theorems arising from the concepts covered in this course; Apply course material along with<br />
techniques <strong>and</strong> procedures covered in this course to solve practical problems; Design simple algorithms <strong>and</strong> data<br />
structures in C; <strong>and</strong> Use theories <strong>and</strong> concepts covered in the course to approximate the complexities <strong>of</strong> algorithms.<br />
Indicative Content: Methods for modularizing, documenting <strong>and</strong> constructing Programmes (abstract data types/<br />
object orientation), <strong>and</strong> an introduction to classical data structures <strong>and</strong> algorithms with complexity analysis. Detailed<br />
Course Content: Application <strong>and</strong> implementation <strong>of</strong> strings, arrays, stacks queues, lists, trees <strong>and</strong> graphs.; Abstract<br />
data types; storage management; Sorting, searching, merging, reference <strong>and</strong> cross-referencing files; Design <strong>and</strong><br />
analysis <strong>of</strong> algorithms, complexity <strong>of</strong> algorithms, big-O <strong>and</strong> small-O notation. Binary trees, B-trees, B*-trees, <strong>and</strong><br />
AVL-trees; Study <strong>of</strong> disk <strong>and</strong> tape file organizations; Creation <strong>of</strong> sequential, direct, <strong>and</strong> indexed sequential files;<br />
Hashing techniques <strong>and</strong> address overflows; Primary <strong>and</strong> secondary key usage, inverted <strong>and</strong> linked-list files;<br />
Semantic Nets, frames.<br />
Reference Books:<br />
i. M. Weiss, Data Structures <strong>and</strong> Algorithm Analysis in C, 2nd Edition, Addison-Wesley, 1997.<br />
ii. M. A. Weiss, Data Structures <strong>and</strong> Algorithm Analysis in Java, Pearson International.<br />
BSE 2101: Introduction to Database Systems (4 CU)<br />
Course Description: By the end <strong>of</strong> the course, students should be able to: Develop a sound data model for an<br />
application domain; Realize this model as a relational database schema; Implement this schema as a PostgreSQL<br />
application; Build an HTML/forms based (PHP) interface to a relational database; Analyse the costs/benefits <strong>of</strong> data<br />
structures <strong>and</strong> algorithms used in the implementation <strong>of</strong> relational database management systems; Underst<strong>and</strong> the<br />
theory <strong>and</strong> techniques behind managing concurrent access to databases <strong>and</strong> recovery from errors; <strong>and</strong> Appreciate the<br />
limitations <strong>of</strong> existing relational database technology <strong>and</strong> have an overview <strong>of</strong> upcoming database technologies.<br />
Indicative Content: An introduction to SQL, Advanced SQL, Query-By-Example (QBE), Visual Basic <strong>and</strong> other<br />
fourth generation languages will be given. This subject aims to explore the theory behind relational database<br />
systems, the practice <strong>of</strong> developing database applications, <strong>and</strong> the technologies used to implement database<br />
management systems. This course will also cover introduction to Micros<strong>of</strong>t Access.<br />
111
Reference Books:<br />
i. H. G-Molina, J. D. Ullman, <strong>and</strong> J. Widom, Database Systems: The Complete Book, Prentice Hall. 2002.<br />
ii. R. Elmasri <strong>and</strong> S. B. Navathe, Fundamentals <strong>of</strong> Database Systems, 4th edition.<br />
BSE 2104: Computer Architecture (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the student should: Have gained an underst<strong>and</strong>ing<br />
<strong>of</strong> basic components <strong>of</strong> the modern computer system; Be able to describe the operation <strong>of</strong> the various logic gets; Be<br />
able to design digital circuits; Demonstrate a good underst<strong>and</strong>ing <strong>of</strong> sequential <strong>and</strong> parallel processing; Perform low<br />
level assembly programming; <strong>and</strong> perform low level memory management.<br />
Indicative Content: Computer Organization <strong>and</strong> Structures (based on the Von Neumann architecture); Processor<br />
unit organization: control unit, ALU, processor register <strong>and</strong> internal buses; hardwired <strong>and</strong> micro-programmed<br />
control. Instructions sets, formats <strong>and</strong> types; Addressing modes, stacks, pipelining, RISC/CISC concepts; Memory<br />
organization <strong>and</strong> addressing; Memory hierarchy <strong>and</strong> cache; Special-purpose co-processors; I/O facilities <strong>and</strong> storage<br />
devices; The Operating System level.<br />
Reference Books:<br />
i. D. A. Patterson <strong>and</strong> J. L. Hennessy, Computer Architectures: A Quantitative Approach, Morgan Kaufmann<br />
Publishers, 3rd edition, 2003.<br />
ii. A. S. Tanenbaum, Structured Computer Organisation, 4th edition, Prentice Hall inc., Upper Saddle River,<br />
1999.<br />
BSE 2200: Systems S<strong>of</strong>tware (4 CU)<br />
Course Description: By the end <strong>of</strong> this course, Students will underst<strong>and</strong> the various levels <strong>of</strong> system <strong>and</strong><br />
application s<strong>of</strong>tware; They will be familiar with the major Operating System services such as file systems, memory<br />
management, process management, device control <strong>and</strong> network services; They will underst<strong>and</strong> how design decisions<br />
in Operating Systems affect users <strong>of</strong> the system; In addition, students will have used a major Operating System<br />
extensively, with experience in using an interactive comm<strong>and</strong> line programming language; <strong>and</strong> They will also will<br />
have experience in using a systems programming language with an Application Programmers Interface to the<br />
Operating System for its services based on Unix OS, <strong>and</strong> the C systems programming language.<br />
Indicative Content: This course looks at the necessary system architecture introduction for further study <strong>of</strong><br />
operating systems, computer architectures, <strong>and</strong> the implementation <strong>of</strong> higher level languages. It goes further <strong>and</strong><br />
builds upon that by looking at the concepts underlying Operating Systems, <strong>and</strong> to show how different choices in<br />
Operating System design <strong>and</strong> implementation have effects on applications, application programmers <strong>and</strong> user<br />
environments.<br />
Reference Books:<br />
i. L. L. Beck, System S<strong>of</strong>tware: An Introduction to Systems Programming, Addison Wesley; 3rd edition,<br />
August, 1996.<br />
ii. A. S. Tanenbaum, Modern Operating Systems, 2nd edition, Prentice Hall 2001.<br />
iii. A. Silberschatz, P. B. Galvin <strong>and</strong> G. Gagne, Operating Systems Concepts, 6th edition, John Wiley & Sons<br />
2002.<br />
BSE 2201 Network Application Development (4 CU)<br />
Course Description: This course is designed to: Familiarize students with technologies <strong>and</strong> protocols that support<br />
computer communication networks, including the Internet; <strong>and</strong> elaborate on network based programming<br />
methodologies, languages, tools <strong>and</strong> st<strong>and</strong>ards.<br />
Indicative Content: Design principles for network-based applications; design <strong>and</strong> development <strong>of</strong> Java Servlets,<br />
JSP, Web services <strong>and</strong> .NET; principles <strong>of</strong> information security in network-based applications; http <strong>and</strong> https<br />
protocols.<br />
112
Reference Books:<br />
i. M. Hall, Core Servlets <strong>and</strong> Java Server Pages, Volume 1: Core Technologies, 2nd edition.<br />
BSE 2203: Computer Networks & Data Communication (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course students should be able to: Master the terminology<br />
<strong>and</strong> concepts <strong>of</strong> the OSI reference model <strong>and</strong> the TCP/IP reference model; Master the concepts <strong>of</strong> protocols,<br />
network interfaces, <strong>and</strong> design/performance issues in local area networks <strong>and</strong> wide area networks; Demonstrate<br />
knowledge <strong>of</strong> wireless networking concepts; Appreciate contemporary issues in networking technologies; <strong>and</strong><br />
demonstrate knowledge <strong>of</strong> network tools.<br />
Indicative Content: Introduction to Networks: definition, advantages, types, configurations; The OSI/ISO reference<br />
model; Transmission media: magnetic media, twisted pair, coaxial, fiber-optics; Data encoding: straight,<br />
Manchester, differential Manchester, satellite; Digital versus Analog transmission; Modems, modulation <strong>and</strong> their<br />
st<strong>and</strong>ards, codes <strong>and</strong> pulse code modulation; Integrated Services Digital Networks (ISDN); Network Access<br />
Protocols; Passive versus dynamic allocation; LAN st<strong>and</strong>ards:802.3 (Ethernet), 802.4 (token bus), 802.5 (token<br />
ring); Computer Network security, Active <strong>and</strong> Passive Attacks; Network layer <strong>and</strong> Network layer protocols;<br />
Transport layer <strong>and</strong> Transport layer protocols. Furthermore, the course considers problems on each layer <strong>of</strong> a<br />
multilayered communication model, <strong>and</strong> describes some typical solutions to such problems.<br />
Reference Books:<br />
i. J. F. Kurose <strong>and</strong> K. W. Ross, Computer Networking - A Top Down Approach Featuring the Internet, 3rd<br />
edition, Addison-Wesley.<br />
ii. L. Peterson <strong>and</strong> B. Davie, Computer Networks: A Systems Approach.<br />
BSE 2204: Modeling in Information Systems (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the student should: Be able to demonstrate<br />
sufficient underst<strong>and</strong>ing <strong>of</strong> the various modeling tools <strong>and</strong> techniques; Be able to model an information system<br />
using the Universal Modeling Language (UML); Be able to model business processes; Select a suitable modeling<br />
language based on the context; <strong>and</strong> be able to evaluate the quality <strong>of</strong> models using model checking tools <strong>and</strong> formal<br />
methods:<br />
Indicative Content: This course deals with methods <strong>and</strong> techniques used in systems analysis <strong>and</strong> design. This<br />
includes modeling the enterprise, application domains, business processes <strong>and</strong> activities, <strong>and</strong> information systems<br />
components. Main topics to be covered are: Modeling the enterprise: Object-oriented concepts, object-oriented<br />
enterprise modeling. Modeling the business process: process <strong>and</strong> workflow modeling, IDEF0, <strong>and</strong> SAP R/3 process<br />
models, Modeling the dynamics: Data flow diagram (DFD), structured English, decision table, decision tree, <strong>and</strong><br />
state-transition diagram. Modeling the structures: Entity-relationship (ER) models. Putting the designs together:<br />
Unified Modeling Language (UML) Evaluation <strong>of</strong> methods: Evaluation criteria.<br />
Reference Books:<br />
i. A. Olive, Conceptual Modeling <strong>of</strong> Information Systems, Springer, 1st edition, 2007.<br />
ii. R. A. Hirschheim, H. K. Klein <strong>and</strong> K. Lyytinen, Information Systems Development <strong>and</strong> Data Modeling:<br />
Conceptual <strong>and</strong> Philosophical Foundations, Cambridge University Press, 1995.<br />
BSE 2202: Embedded Systems S<strong>of</strong>tware (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student will: Underst<strong>and</strong> the role <strong>of</strong> assembly<br />
language programming; Underst<strong>and</strong> the instruction set <strong>of</strong> a typical embedded processor (68HC11); Be able to<br />
employ a modular approach to assembly language programming with code reuse; Be able to use embedded systems<br />
development tools; Underst<strong>and</strong> memory addressing <strong>and</strong> use various addressing modes; Underst<strong>and</strong> hardware<br />
interrupts <strong>and</strong> be able to use them; <strong>and</strong> be able to integrate assembly language subroutines into a high-level language<br />
Programme.<br />
113
Indicative Content: This course presents assembly language programming as the bridge between hardware <strong>and</strong><br />
high-level programming languages such as C++. Topics covered include the addressing modes, register file, <strong>and</strong><br />
instruction set <strong>of</strong> a microcontroller; subsystems such as timers, h<strong>and</strong>shaking input <strong>and</strong> output, <strong>and</strong> analog to digital<br />
conversion; <strong>and</strong> interrupts. S<strong>of</strong>tware control <strong>of</strong> hardware is stressed. In the laboratory, students design s<strong>of</strong>tware to<br />
demonstrate pr<strong>of</strong>iciency in these areas. Introduction to microcomputer/microcontroller structure from a<br />
programmers perspective; 68hc11 addressing modes <strong>and</strong> memory types; Tool usage (assembler, linker, downloader,<br />
simulator); 68hc11 instruction set (5 classes) Assembly language Programmes structure, including comparisons to<br />
high level languages; Parallel I/O with h<strong>and</strong>shaking; Analog I/O on the 68hc11 plus background on A/D <strong>and</strong> D/A<br />
converters; Hardware interrupts.<br />
Reference Book:<br />
i. S. A. Edwards, Languages for Digital Embedded Systems, Kluwer Academic Press, 2000.<br />
BSE 2302: Pr<strong>of</strong>essional S<strong>of</strong>tware Engineering Mini Practical Project II (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> the course, the student should: Demonstrate mastery <strong>of</strong> a<br />
specific programming language <strong>and</strong> development platform; Carry out requirement engineering for a particular<br />
project; <strong>and</strong> demonstrate ability to develop a mini application or systems with minimal difficulty.<br />
Indicative Content: An introduction to a specific pr<strong>of</strong>essional s<strong>of</strong>tware certification course is covered.<br />
Reference Books:<br />
i. A. Koenig <strong>and</strong> B. E. Moo, Accelerated C++: Practical Programming by Example, Addison-Wesley, 2008.<br />
ii. J. Friesen, Beginning Java SE 6 Platform: From Novice to Pr<strong>of</strong>essional, Apress October 2007.<br />
iii. S. Karam, <strong>and</strong> R. Freeman, Easy Oracle Jumpstart: Oracle Database Management Concepts <strong>and</strong><br />
Administration.<br />
iv. S. Feuerstein, B. Pribyl <strong>and</strong> C. Dawes, Oracle PL/SQL Language Pocket Reference, 4th edition, O’Reilly<br />
2007.<br />
BSE 3101: IT Project Management <strong>and</strong> Development (4 CU)<br />
Course Description: At the end <strong>of</strong> the course, students will: Appreciate the range <strong>of</strong> practical project management<br />
techniques available; be able to apply project management principles <strong>and</strong> techniques within their organizations; <strong>and</strong><br />
be able to confidently undertake the management <strong>of</strong> a project <strong>and</strong> see it to a satisfactory conclusion on time <strong>and</strong><br />
within budget.<br />
Indicative Content:<br />
• Integration Management includes the processes required to ensure that the various elements <strong>of</strong> the project<br />
are properly co-coordinated.<br />
• Scope Management is the function <strong>of</strong> controlling a project in terms <strong>of</strong> its aims, goals <strong>and</strong> objectives<br />
through the process <strong>of</strong> conceptual development, full scope definition or statement, scope reporting <strong>and</strong><br />
control, <strong>and</strong> project close out.<br />
• Time Management is the function <strong>of</strong> maintaining appropriate allocation <strong>of</strong> time to every element in the<br />
overall conduct <strong>of</strong> the project through the successive stages <strong>of</strong> its natural life-cycle.<br />
• Cost Management is the function <strong>of</strong> maintaining effective financial control <strong>of</strong> the project.<br />
• Quality Management is the composite <strong>of</strong> material attributes (including performance features <strong>and</strong><br />
characteristics) <strong>of</strong> the product or service which are required to satisfy the needs for which the project is<br />
being undertaken.<br />
• Human Resource Management is the function <strong>of</strong> directing <strong>and</strong> coordinating human resources throughout<br />
the life <strong>of</strong> the project. It involves the application <strong>of</strong> the principles <strong>of</strong> behavioral science <strong>and</strong> administrative<br />
knowledge to achieve the predetermined project objectives <strong>of</strong> scope, time, cost, quality <strong>and</strong> participant<br />
satisfaction.<br />
114
• Communications Management includes the processes required to ensure timely <strong>and</strong> appropriate generation,<br />
collection, dissemination, storage <strong>and</strong> ultimate disposition <strong>of</strong> project information.<br />
• Risk Management includes the processes concerned with identifying, analysing <strong>and</strong> responding to project<br />
risk. It includes maximising the results <strong>of</strong> positive events <strong>and</strong> minimising the consequences <strong>of</strong> adverse<br />
events.<br />
• Procurement Management is the function <strong>of</strong> acquiring resources for the project in order to produce the end<br />
product.<br />
Reference Book:<br />
i. D. Billows, Advanced Project Management Techniques, PMP.<br />
BSE 3104: S<strong>of</strong>tware Metrics (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course students should be able to: Describe s<strong>of</strong>tware<br />
metrics; underst<strong>and</strong> the foundations <strong>of</strong> measurement theory <strong>and</strong> models <strong>of</strong> s<strong>of</strong>tware engineering measurement <strong>and</strong><br />
appreciate s<strong>of</strong>tware products metrics, s<strong>of</strong>tware process metrics <strong>and</strong> measuring management.<br />
Indicative Content: The course is composed <strong>of</strong> the following basic modules: Measurement theory (overview <strong>of</strong><br />
s<strong>of</strong>tware metrics, basics <strong>of</strong> measurement theory, goal-based framework for s<strong>of</strong>tware measurement, empirical<br />
investigation in s<strong>of</strong>tware engineering), S<strong>of</strong>tware product <strong>and</strong> process measurements (measuring internal product<br />
attributes: size <strong>and</strong> structure, measuring external product attributes: quality, measuring cost <strong>and</strong> effort, measuring<br />
s<strong>of</strong>tware reliability, s<strong>of</strong>tware test metrics, object-oriented metrics Measurement management.<br />
Reference Books:<br />
i. N.E. Fenton <strong>and</strong> S.L. Pfleeger, S<strong>of</strong>tware Metrics: A Rigorous <strong>and</strong> Practical Approach, 2nd edition (638p.),<br />
PWS Publishing, 1998.<br />
ii. S. H. Kan, Metrics <strong>and</strong> Models in S<strong>of</strong>tware Quality Engineering, 2nd edition (560 p.) Addison-Wesley<br />
Pr<strong>of</strong>essional, 2002.<br />
iii. J. C. Munson, S<strong>of</strong>tware Engineering Measurement, Auerbach Publications, 2003.<br />
iv. C. Jones, Applied S<strong>of</strong>tware Measurement: Assuring Productivity <strong>and</strong> Quality, McGraw-Hill, 1996.<br />
CSC 2111 Database Management Systems I (3 CU)<br />
Course Description: This course is to provide students with a strong foundation in systematic approaches to design<br />
<strong>and</strong> implementing <strong>of</strong> database applications. Preliminarily, operations like requirements gathering <strong>and</strong> database<br />
planning will be covered. The course will also introduce students to developing <strong>of</strong> application Programmes that talk<br />
to the database. These applications may be online or <strong>of</strong>fline. The aims <strong>of</strong> the course are to: Provide a background for<br />
the evolution <strong>of</strong> database (management) systems; Provide the students with the steps one has to go through when<br />
developing good database applications; Give h<strong>and</strong> on experience <strong>and</strong> knowledge in developing database (driven)<br />
applications<br />
Indicative Content: Background to databases; Evolution <strong>of</strong> database systems; Database organization <strong>and</strong><br />
architecture; Data base models; Over view <strong>of</strong> database application development; The database development life<br />
cycle; Database design; Conceptual design; Logical design; Physical Design; Querying databases; SQL/PL SQL<br />
<strong>and</strong> Scripting.<br />
Reference Books:<br />
i. T. Connolly <strong>and</strong> C. Begg, Database Solutions, 2nd edition.<br />
BSE 3102: Object-Oriented S<strong>of</strong>tware Engineering (4 CU)<br />
Course Description: Upon completion <strong>of</strong> the course, students will be able to: Underst<strong>and</strong> the entire s<strong>of</strong>tware<br />
engineering project process, which consists <strong>of</strong> object-oriented analysis, design, programming <strong>and</strong> testing;<br />
Underst<strong>and</strong> basic object-oriented programming concepts; Effectively use the main features <strong>of</strong> the object-oriented<br />
115
programming language Java; Gain experience in implementing object-oriented Programmes in Java; Apply an<br />
iterative, use case-driven process to the development <strong>of</strong> a robust design model; Use UML to represent the design<br />
model; Apply the OO concepts abstraction, encapsulation, inheritance, hierarchy, modularity, <strong>and</strong> polymorphism to<br />
the development <strong>of</strong> a robust design model; <strong>and</strong> Design <strong>and</strong> implement a s<strong>of</strong>tware system using object-oriented<br />
s<strong>of</strong>tware engineering paradigm.<br />
Indicative Content: In particular the course covers the following main themes <strong>and</strong> associated topics: Systems<br />
modeling <strong>and</strong> Design S<strong>of</strong>tware Engineering processes <strong>and</strong> principles <strong>of</strong> good s<strong>of</strong>tware design. UML modeling <strong>and</strong><br />
design with particular emphasis on s<strong>of</strong>tware architecture, behavioral modeling, object interactions <strong>and</strong> state-charts.<br />
Formal specifications <strong>of</strong> system requirements Principles <strong>of</strong> formal specifications <strong>and</strong> object orientation, state <strong>and</strong><br />
operation schemas; class schemas, object aggregation <strong>and</strong> inheritance; specification <strong>of</strong> dependency <strong>and</strong> information<br />
sharing; definition <strong>of</strong> class union; semantic issues; reasoning techniques for validating invariant properties, such as<br />
safety <strong>and</strong> liveness; Specification <strong>of</strong> object oriented Programmes Principles <strong>of</strong> object-oriented Programme<br />
specifications, concepts <strong>of</strong> mid-conditions, pre-conditions <strong>and</strong> post-conditions <strong>of</strong> methods, the role <strong>and</strong> definition <strong>of</strong><br />
class invariants; loop invariants as a programming technique; techniques for reasoning about the correctness <strong>of</strong><br />
Programmes. The development process Generation <strong>of</strong> specifications <strong>of</strong> object-oriented Programmes from formal<br />
specifications <strong>of</strong> system requirement; validation <strong>and</strong> verification processes <strong>of</strong> s<strong>of</strong>tware system; acquisition <strong>of</strong><br />
practical experience in modelling <strong>and</strong> specifying Java Programmes, using appropriate tools for developing <strong>and</strong><br />
checking specifications <strong>of</strong> Java Programmes.<br />
Reference Books:<br />
i. C. Larman, Applying UML <strong>and</strong> Patterns: An Introduction to Object-Oriented Analysis <strong>and</strong> Design <strong>and</strong> the<br />
Unified Process, 2nd edition, Prentice-Hall, 2002.<br />
ii. S. R. Schach, Object Oriented <strong>and</strong> Classical S<strong>of</strong>tware Engineering, 7th edition, McGraw-Hill, 2007.<br />
iii. R. S. Pressman <strong>and</strong> D. Ince, S<strong>of</strong>tware Engineering A Practitioners Approach, McGraw-Hill, 2007.<br />
iv. I. Sommerville, S<strong>of</strong>tware Engineering, 8th edition, Addison Wesley, 2006.<br />
v. R.H. Thayer, <strong>and</strong> M. J. Christiansen, S<strong>of</strong>tware Engineering, Volume 1: The Development Process, 3rd<br />
edition, Wiley & Sons, 2005.<br />
vi. R. H. Thayer <strong>and</strong> M. Dorfman, S<strong>of</strong>tware Engineering, Volume 2: The Supporting Processes, 3rd edition,<br />
Wiley & Sons, 2005.<br />
BSE 3107: Real-Time <strong>and</strong> Embedded Systems (4 CU)<br />
Course Description: At the end <strong>of</strong> the course students should be able to: Demonstrate knowledge <strong>of</strong> rate monotonic<br />
theory <strong>and</strong> how to apply it to real-time applications; Underst<strong>and</strong> the process <strong>and</strong> fundamentals <strong>of</strong> integrating<br />
microprocessor-based embedded system elements to realize systems that not only meet functional requirements, but<br />
timing <strong>and</strong> performance requirements as well; <strong>and</strong> Use practical skills to design <strong>and</strong> integrate a real-time operation<br />
system with a microprocessor to host real-time service data processing.<br />
Indicative Content: Rate Monotonic Theory, specifically the RM least upper bound, necessary <strong>and</strong> sufficient<br />
feasibility tests, <strong>and</strong> application <strong>of</strong> rate monotonic theory , Real-time Operating Systems, scheduling,<br />
synchronization mechanisms, <strong>and</strong> resource management, Embedded system architectures: System-on-chip, scalable<br />
bus architectures, memory subsystems, Sensor <strong>and</strong> Actuator IO: ADC, DAC, servos, relays, stepper motors, Hbridge,<br />
<strong>and</strong> CODECs, Real-time embedded test equipment, s<strong>of</strong>tware debug tools, <strong>and</strong> methods <strong>of</strong> performance<br />
pr<strong>of</strong>iling <strong>and</strong> tracing, Real-time applications including voice/packet-switched links <strong>and</strong> networks, streaming video<br />
media, computer vision, digital control, <strong>and</strong> robotic system comm<strong>and</strong> <strong>and</strong> control.<br />
Reference Books:<br />
i. M. Ben-Ari, Principles <strong>of</strong> Concurrent <strong>and</strong> Distributed Programming, Prentice Hall, 1990.<br />
ii. S. Bennett, Real-Time Computer Control: An Introduction Series in Systems <strong>and</strong> Control Engineering,<br />
International Prentice Hall, 1988.<br />
116
iii. A. Burns <strong>and</strong> A. Wellings, Real-Time Systems <strong>and</strong> Programming Languages, Addison Wesley, 3rd edition,<br />
2001.<br />
BSE 3103: Requirements Engineering (4 CU)<br />
Course Description: At the end <strong>of</strong> the course students should be able to: Underst<strong>and</strong> the principles, tools, <strong>and</strong><br />
techniques for requirements elicitation, specification, <strong>and</strong> analysis; demonstrate the role <strong>of</strong> requirements in system<br />
development <strong>and</strong> maintenance; <strong>and</strong> appreciate the difficulties <strong>of</strong> specifying requirements for real systems, as well as<br />
effective methods tools <strong>and</strong> techniques.<br />
Indicative Content: System <strong>and</strong> S<strong>of</strong>tware System Engineering; S<strong>of</strong>tware Requirements Concepts; Requirements<br />
Elicitation; S<strong>of</strong>tware Requirements Analysis, S<strong>of</strong>tware Requirements Specifications, S<strong>of</strong>tware Requirements Tools,<br />
S<strong>of</strong>tware Requirements Verification; S<strong>of</strong>tware Requirements Engineering Management; Developing a Successful<br />
S<strong>of</strong>tware Requirement.<br />
Reference Books:<br />
i. P. Loucopoulos <strong>and</strong> V. Karakostas, System Requirements Engineering, McGraw-Hill.<br />
ii. D. Leffingwell, D. Widrig, A. Wesley, Managing S<strong>of</strong>tware Requirements: A Use Case Approach, 2nd<br />
edition, Boston.<br />
iii. L. Chung, B. Nixon, E. Yu <strong>and</strong> J. Mylopoulos, Non-Functional Requirements in S<strong>of</strong>tware Engineering,<br />
Kluwer Academic Publishing, 2000.<br />
iv. A. M. Davis, S<strong>of</strong>tware Requirements: Objects, Functions, & States, Prentice Hall: Englewood Cliffs, 1993.<br />
v. R. H. Thayer <strong>and</strong> M. Dortman, System <strong>and</strong> S<strong>of</strong>tware Requirements Engineering: Tutorial, (Editors), IEEE<br />
Computer Society Press.<br />
BSE 3105: S<strong>of</strong>tware Evolution (4 CU)<br />
Course Description: In this course, students will learn: How selected s<strong>of</strong>tware systems can be analyzed to<br />
underst<strong>and</strong> properties <strong>of</strong> their evolution; <strong>and</strong> interpret their implication.<br />
Indicative Content: Separate compilation; design issues; verification <strong>and</strong> validation; integrating components;<br />
documentation , Issues in object-oriented programming; parallelism; event centered programming; common design<br />
patterns; s<strong>of</strong>tware reuse, The Laws <strong>of</strong> S<strong>of</strong>tware Evolution Client-server computing: S<strong>of</strong>tware support needed for<br />
client <strong>and</strong> server implementation; varieties <strong>of</strong> server structures; Reverse engineering <strong>and</strong> reverse engineering tools,<br />
recognizing s<strong>of</strong>tware architecture <strong>and</strong> design patterns in existing s<strong>of</strong>tware systems S<strong>of</strong>tware transformation,<br />
migration, <strong>and</strong> reengineering, recovering s<strong>of</strong>tware components for reuse<br />
Reference Books:<br />
i. L. J. Arthur, S<strong>of</strong>tware Evolution: A S<strong>of</strong>tware Maintenance Challenge, John Wiley & Sons, 1988.<br />
ii. R. C. Seacord, D. Plakosh, <strong>and</strong> G. A. Lewis, Modernizing Legacy Systems: S<strong>of</strong>tware Technologies,<br />
Engineering Processes, <strong>and</strong> Business Practices, Addison-Wesley Pub Co; 1st edition, 2003.<br />
iii. T. M. Pigoski, Practical S<strong>of</strong>tware Maintenance: Best Practices for Managing Your S<strong>of</strong>tware Investment,<br />
John Wiley & Sons, 1st edition, 1996.<br />
iv. D. D. Smith, Designing Maintainable S<strong>of</strong>tware, Springer-Verlag, 1999.<br />
v. R. B. Grady, S<strong>of</strong>tware Metrics: Establishing A Company-Wide Program, Prentice Hall; 1st edition, 1987.<br />
BSE 3106: Mobile Networks <strong>and</strong> <strong>Computing</strong> (4 CU)<br />
Course Description: At the end <strong>of</strong> the course, students will be able to: Underst<strong>and</strong> the basic principle, architecture<br />
<strong>and</strong> challenges <strong>of</strong> wireless networks <strong>and</strong> mobile computing systems; <strong>and</strong> demonstrate knowledge <strong>of</strong> s<strong>of</strong>tware<br />
development related to mobile computing systems.<br />
117
Indicative Content: The topics for wireless networking include GSM, Wireless LANs, GPRS, Mobile IP, wireless<br />
ATM, Mobile Ad Hoc Networking <strong>and</strong> internetworking with TCP/IP. As well as mobile computing models in<br />
general, the SMS Bluetooth, WAP <strong>and</strong> I-mode will be introduced as typical mobile computing systems.<br />
Reference Book:<br />
i. D. Milojicic, F. Douglis <strong>and</strong> R. Wheeler, Mobility: Processes, Computers, <strong>and</strong> Agents, Eds., Addison<br />
Wesley, 1999.<br />
BSE 3201: S<strong>of</strong>tware Architecture (4 CU)<br />
Course Description: At the end <strong>of</strong> the course, students will: Be familiar with the latest state <strong>of</strong>- the-art s<strong>of</strong>tware<br />
architecture; Appreciate s<strong>of</strong>tware system design; <strong>and</strong> underst<strong>and</strong> how system’s components are meant to interact<br />
with each other.<br />
Indicative Content: Architectural styles, Components <strong>of</strong> architectural design, Connectors, components,<br />
composition, Architectural design guidance <strong>and</strong> Tools for architectural design, Achieving quality goals with<br />
architectural styles, Formal models <strong>and</strong> specifications, Analyzing s<strong>of</strong>tware architecture with SAAM, Architecture<br />
description languages (ADLs), Architecture-based development, Patterns in s<strong>of</strong>tware architecture, Reusing s<strong>of</strong>tware<br />
architecture.<br />
Reference Books:<br />
i. L. Bass, P. Clements <strong>and</strong> R. Kazman, S<strong>of</strong>tware Architecture in Practice, Addison Wesley, 1998.<br />
ii. Shaw <strong>and</strong> Garlan, S<strong>of</strong>tware Architecture: Perspectives on an Emerging Discipline, PrenticeHall, 1996.<br />
iii. Cheesman <strong>and</strong> Daniels, UML Components: A simple process for specifying component-based s<strong>of</strong>tware,<br />
Addison-Wesley, 2000.<br />
BSE 3202: Distributed Systems Development (4 CU)<br />
Course Description: At the end <strong>of</strong> the course students should be able to: Present a conceptual model <strong>of</strong> distributed<br />
systems; Describe key components <strong>of</strong> a distributed system <strong>and</strong> evaluate the Trade <strong>of</strong>fs <strong>of</strong> alternative architectural<br />
models; Suggest algorithm suitable for application in distributed systems; Build prototype implementations <strong>of</strong><br />
distributed systems; <strong>and</strong> demonstrate an underst<strong>and</strong>ing <strong>of</strong> the challenges faced by future distributed systems.<br />
Indicative Content; Event-driven s<strong>of</strong>tware architectures; distributed object computing, <strong>and</strong> developing,<br />
documenting, <strong>and</strong> testing applications using object-oriented frameworks <strong>and</strong> design patterns. Techniques that enable<br />
the construction <strong>of</strong> reusable, extensible, efficient, <strong>and</strong> maintainable concurrent <strong>and</strong> distributed s<strong>of</strong>tware systems are<br />
emphasized. Abstraction based on patterns <strong>and</strong> object-oriented techniques will be crucial throughout the course, <strong>and</strong><br />
their application studied in several in-depth case studies.<br />
Reference Books:<br />
i. S. Tanenbaum <strong>and</strong> M. V. Steen, Distributed Systems: Principles <strong>and</strong> Paradigms, 2nd edition, Prentice Hall,<br />
2006.<br />
ii. G. Coulouris, J. Dollimore, <strong>and</strong> T. Kindberg, Distributed Systems: Concepts <strong>and</strong> Design, 3rd edition,<br />
Addison-Wesley, 2000.<br />
iii. R. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, John Wiley &<br />
Sons, 2001.<br />
BSE 3205: UNIX Shell Programming (4 CU)<br />
Course Description: At the end <strong>of</strong> the course students should be able to: use the UNIX operating system for<br />
information h<strong>and</strong>ling <strong>and</strong> s<strong>of</strong>tware development; <strong>and</strong> develop engineering applications using c language in a UNIX<br />
environment.<br />
Indicative Content: This course introduces the UNIX operating system as a basic environment for information<br />
h<strong>and</strong>ling <strong>and</strong> s<strong>of</strong>tware development. It covers the UNIX file system, job control, <strong>and</strong> processes using both the C<br />
118
shell <strong>and</strong> Korn shell, common UNIX utilities (sed, awk, grep), UNIX networking utilities, piping <strong>and</strong> redirection,<br />
<strong>and</strong> an introduction to shell programming. Computer engineering applications programming using the C language in<br />
a UNIX environment; Use <strong>of</strong> UNIX tools including filters <strong>and</strong> shell scripts; Overview <strong>of</strong> UNIX s<strong>of</strong>tware design<br />
practices using tools such as Make <strong>and</strong> SCCS; The UNIX system interface; S<strong>of</strong>tware design projects. Other topics<br />
include advanced programming in both the C shell <strong>and</strong> the Korn shell using project management tools (SCCS or<br />
RCS), using s<strong>of</strong>tware development tools (make), <strong>and</strong> an introduction to system administration.<br />
Reference Books:<br />
i. Morris I. Bolsky, David G. Korn, The New KornShell Comm<strong>and</strong> And Programming Language.<br />
ii. D. O’Brien, D. Pitts (Contributor), Korn Shell Programming by Example.<br />
iii. A. Olczak,The Korn Shell Linux <strong>and</strong> Unix Programming Manual, 2nd edition.<br />
iv. Ken. O. Burtch, Linux Shell Scripting with Bash.<br />
v. S. Kochan <strong>and</strong> P. Wood, Unix Shell Programming, 3rd edition.<br />
BSE 3206: Computer Graphics (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course students should be able to: Demonstrate knowledge<br />
<strong>of</strong> a general purpose graphics system <strong>and</strong> its use; Show that consistent design <strong>of</strong> user interfaces based on existing<br />
st<strong>and</strong>ards are important; <strong>and</strong> Appreciate the domain <strong>of</strong> computer graphics <strong>and</strong> graphical user interfaces in general.<br />
Indicative Content: graphics hardware, geometrical transformations, surface <strong>and</strong> volume visualization, design <strong>and</strong><br />
implementation <strong>of</strong> graphical user interfaces; two dimensional imaging processes; Computer graphics applications.<br />
Introduction to computer graphics; Display system organization; Display devices <strong>and</strong> modes; Display file<br />
construction <strong>and</strong> its structure; Graphic primitive - device initialization, view porting <strong>and</strong> windowing; Line drawing,<br />
simple <strong>and</strong> symmetrical Digital Deferential Analysis (DDA); Arch <strong>and</strong> circle generating DDA Line; <strong>and</strong> polygon<br />
clipping algorithms; Curve plotting; Transformations- projections <strong>and</strong> perspective views; Picture segmentation:<br />
Graphics st<strong>and</strong>ards - PHIGS <strong>and</strong> GKS.<br />
Reference Books:<br />
i. D. Hearn, M.P. Baker, Computer Graphics, 2nd edition (C Version), Prentice-Hall, 1997.<br />
ii. J. D. Foley, A. Van-Dam, S. K. Feiner <strong>and</strong> J. F. Hughes, Computer Graphics - Principles <strong>and</strong> Practice 2nd<br />
edition in C, Addison-Wesley, 1996.<br />
iii. P. Burger <strong>and</strong> D. Gillies, Interactive Computer Graphics - Functional, Procedural <strong>and</strong> Device-Level<br />
Methods, Addison-Wesley, 1989.<br />
iv. A. Watt <strong>and</strong> M. Watt, Advanced Animation <strong>and</strong> Rendering Techniques, Addison-Wesley, 1992.<br />
v. J. Prosise, Programming Windows with MFC, Micros<strong>of</strong>t Press; 2nd edition, 1999.<br />
vi. Woo, Manson. et al., OpenGL Programming Guide, Addison-Wesley, 1999.<br />
BSE 3203: Object-Oriented Programming (4 CU)<br />
Course Description: In this course, students will learn: Object oriented design <strong>and</strong> s<strong>of</strong>tware development by<br />
performing <strong>and</strong> discussing OO design for re-use <strong>of</strong> general purpose applications <strong>and</strong> small Java applets;<br />
Demonstrate correct use <strong>of</strong> the basic Java features in a working Programme: objects, classes, methods, IO h<strong>and</strong>ling,<br />
decisions <strong>and</strong> iterations; Demonstrate correct use <strong>of</strong> the following advanced Java features in a working Programme:<br />
inheritance, encapsulation, overloading, polymorphism, abstract classes <strong>and</strong> interfaces; <strong>and</strong> Demonstrate knowledge<br />
<strong>of</strong> GUI-based event-driven programming in a working Programme assignment utilizing Java GUI components,<br />
event listeners <strong>and</strong> event-h<strong>and</strong>lers.<br />
Indicative Content: the Java API <strong>and</strong> Abstract Windowing Toolkit. Other topics covered include the use <strong>of</strong> Java as<br />
an object-oriented programming language including encapsulation, simple inheritance, <strong>and</strong> polymorphism; design <strong>of</strong><br />
Java classes using Java interfaces <strong>and</strong> packages; implement design patterns in working Java code, <strong>and</strong> demonstrate<br />
119
use <strong>of</strong> Java Base Classes, including AWT. Java foundation classes including Swing <strong>and</strong> JavaBeans will be discussed<br />
briefly, along with the selection <strong>and</strong> application <strong>of</strong> current design <strong>and</strong> development tools.<br />
Reference Books:<br />
i. J. Hubbard, Programming in C++, McGraw Hill, Schaum’s Outline Series, 2000.<br />
ii. Y. D. Liang, Introduction to Programming with C++ (Brief Version), Prentice Hall, 2007.<br />
CSC 3202: Concepts <strong>of</strong> CAD/CAM (4 CU)<br />
Course Description: Upon successful completion students will be able to: Underst<strong>and</strong> the basic concepts <strong>of</strong><br />
CAD/CAM; Demonstrate knowledge <strong>and</strong> skill in applying computer <strong>and</strong> scientific principles related to solving<br />
engineering <strong>and</strong> manufacturing problems; <strong>and</strong> develop an underst<strong>and</strong>ing <strong>of</strong> engineering design <strong>and</strong> learn how to<br />
provide technical assistance in managing CAD/CAM systems.<br />
Indicative Content: Concepts <strong>of</strong> modelling in CAD/CAM; Designing <strong>of</strong> specifications for interactive s<strong>of</strong>tware<br />
packages in grafting; Designing <strong>and</strong> manufacturing applications; Design <strong>and</strong> development <strong>of</strong> algorithms;<br />
Methodologies <strong>of</strong> problem solving in design; Role <strong>of</strong> geometric models in CAD/CAM; Techniques <strong>of</strong> displaying<br />
models using computer optimization; Concepts <strong>of</strong> data representations in CAD/CAM problems; Discussion on large<br />
numbers <strong>of</strong> case studies involving s<strong>of</strong>tware development <strong>of</strong> various problems in CAD/CAM.<br />
Reference Books:<br />
i. I. Zeid, CAD/CAM, Tata McGraw Hill, New Delhi.<br />
ii. J. Rooney & P. Steadman, Principles <strong>of</strong> Computer Aided Design, Pitman/ Open University, London.<br />
iii. J. Rooney & P. Steadman, Computer Aided Design, Pitman/Open University, London.<br />
iv. G. Mallineuse, Computational Concepts <strong>and</strong> Methods, Kogan Page Ltd. London.<br />
v. D. L. Rayan, Computer Aided Graphical Design, Marcel Dekker, New York.<br />
BSE 3204: Human-Computer Interface Design (4 CU)<br />
Course Description: The students will throughout the course: Get a thorough underst<strong>and</strong>ing <strong>of</strong> the nature <strong>of</strong> manmachine<br />
communication; Use acquired knowledge in designing user interfaces; Become familiar with the variety <strong>of</strong><br />
design <strong>and</strong> evaluation methods used in interface design; <strong>and</strong> use these methods in their projects.<br />
Indicative Content: Methods <strong>and</strong> techniques for designing user interfaces will be presented. These will include<br />
comm<strong>and</strong>-based systems, menus, graphical interfaces, desktop techniques <strong>and</strong> direct manipulation. Principles for<br />
user-friendly interfaces will be discussed using case studies from commercial Programmes (Windows, Word, DOS,<br />
UNIX, LINUX, others). Human performance: memory, perception, skill learning, task closures motivation,<br />
performance, motor skills, attention; Types <strong>of</strong> users: casual, naive, learning, expert; Collecting <strong>and</strong> evaluating<br />
behavioral data; System performance <strong>and</strong> its erect on users: response data; Styles <strong>of</strong> interaction: comm<strong>and</strong> language,<br />
form-fill, direct manipulation, hierarchical/network systems; desk-top metaphor, browsing; Help mechanisms:<br />
conventional, context sensitive, hyper text, error h<strong>and</strong>ling, implicit cues; Graphics: tools <strong>and</strong> graphical user<br />
interfaces; Dialogue design methods: dialogue principles, dialogue description languages; task analysis <strong>and</strong><br />
ergonomics.<br />
Reference Book:<br />
i. B. Shneiderman & C. Plaisant, Designing the User Interface: Strategies for Effective Human-Computer<br />
Interaction, 4th edition, Publisher: Addison Wesley.<br />
BSE 3301: Internship (4 CU)<br />
Course Description: Upon successful completion students will: Have gained work experience that allows them to<br />
sample pr<strong>of</strong>essional environments in which they might seek careers; <strong>and</strong> have experience that will help prepare them<br />
for careers <strong>and</strong> research.<br />
120
Indicative Content: The students shall be attached to an industrial partner with business in the area <strong>of</strong> s<strong>of</strong>tware<br />
engineering or heavy bias in Information technology. During this time, the student shall be visited at least twice by a<br />
pr<strong>of</strong>essor or lecturer to assess the performance <strong>of</strong> the student in the industry. The students shall acquire h<strong>and</strong>s on<br />
training in maintenance, servicing <strong>and</strong> troubleshooting, <strong>and</strong> training in computer skills <strong>and</strong> applications as well as<br />
s<strong>of</strong>tware development. Hardware maintenance; Practicals; On Job training; project management, requirement<br />
engineering, product conceptualized, Report writing including communication skills, project coordination, team<br />
organisation, product br<strong>and</strong>ing. Based on the trading experience the c<strong>and</strong>idate will be expected to pick ideas to<br />
develop for the final year project.<br />
Reference:<br />
There is no particular reference material for internship, except whatever may be recommended by the student<br />
supervisors<br />
BSE 4100: S<strong>of</strong>tware Engineering project I (5 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course the student will have ability to: Demonstrate<br />
independent skills in collecting requirements, documenting user requirements <strong>and</strong> technical requirements for nontrivial<br />
s<strong>of</strong>tware engineering/ research projects by pursuing a lengthy S<strong>of</strong>tware engineering project; <strong>and</strong> demonstrate<br />
skills <strong>of</strong> specifying, designing <strong>and</strong> implementing a project, with assistance <strong>of</strong> one <strong>of</strong> the Pr<strong>of</strong>essors/ Lecturers as<br />
adviser/ supervisor.<br />
Indicative Content: The student develops a framework within which research will be conducted <strong>and</strong> <strong>of</strong>fers<br />
evidence <strong>of</strong> qualifications to pursue the research. Concepts <strong>and</strong> theories underlying the student’s Project research are<br />
articulated, the problem is clearly stated, <strong>and</strong> specific, measurable goals are specified, a literature review is<br />
presented, the methods <strong>of</strong> conducting research are delineated, <strong>and</strong> strategy to achieve the goal is given. The specific<br />
deliverables are a requirements document clearly specified in well-known <strong>and</strong> acceptable notation; Technical<br />
Specification Document Detailed design document. References No particular reference will be used for this course<br />
unit, except whatever is recommended by the student supervisors.<br />
Reference:<br />
No particular reference will be used for this course unit, except whatever is recommended by the student<br />
supervisors.<br />
BSE 4101: S<strong>of</strong>tware Reliability <strong>and</strong> Testing (4 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course the student will have ability to: Underst<strong>and</strong> the<br />
s<strong>of</strong>tware reliability process <strong>and</strong> reliability growth models; Show techniques to improve <strong>and</strong> predict s<strong>of</strong>tware<br />
reliability; <strong>and</strong> appreciate concepts such as operational pr<strong>of</strong>iles, techniques to improve <strong>and</strong> predict s<strong>of</strong>tware<br />
reliability, preparing <strong>and</strong> executing test, black box testing, white box testing, unit testing, system testing, <strong>and</strong><br />
integration testing.<br />
Indicative Content: This course introduces s<strong>of</strong>tware reliability process, reliability growth models <strong>and</strong> shows<br />
techniques to improve <strong>and</strong> predict s<strong>of</strong>tware reliability. Concepts such as defining necessary reliability, developing<br />
operational pr<strong>of</strong>iles, techniques to improve <strong>and</strong> predict s<strong>of</strong>tware reliability, preparing <strong>and</strong> executing test, black box<br />
testing, white box testing, unit testing, system testing, <strong>and</strong> integration testing will be explained.<br />
Reference Books:<br />
i. J. D. Musa, S<strong>of</strong>tware Reliability Engineering: More Reliable S<strong>of</strong>tware Faster <strong>and</strong> Cheaper, Author house,<br />
2nd edition, (632 p.), 2004.<br />
ii. M. R. Lyu (Editor), <strong>H<strong>and</strong>book</strong> <strong>of</strong> S<strong>of</strong>tware Reliability Engineering, McGraw Hill, 1996.<br />
iii. J. D. Musa, A. Iannini, K. Okumoto, S<strong>of</strong>tware Reliability: Measurement, Prediction <strong>and</strong> Application, (621<br />
p.), McGraw-Hill, 1987.<br />
iv. W. E. Perry, Effective Methods for S<strong>of</strong>tware Testing, 2nd edition, John Wiley <strong>and</strong> Sons, 2000.<br />
121
BSE 4103: Entrepreneurship <strong>and</strong> Business (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course the student will have ability to: Systematically<br />
apply an entrepreneurial way <strong>of</strong> thinking that will allow them to create <strong>and</strong> identify business opportunities that may<br />
be commercialized successfully; <strong>and</strong> appreciate the differences between newly formed ventures, existing small to<br />
medium size growth-oriented ventures, <strong>and</strong> entrepreneurial ventures within larger organizations.<br />
Indicative Content: Entrepreneurship is the process <strong>of</strong> building something from nothing. It is the process <strong>of</strong> seizing<br />
or creating opportunity without regard to the resources you control. The organizational aspects <strong>of</strong> consultancies <strong>and</strong><br />
client responsibilities within the framework <strong>of</strong> corporate management. Topics include: contracts fees, legal issues,<br />
patents, copyrights, hourly rates, hiring <strong>and</strong> employment concerns, timekeeping <strong>and</strong> invoicing, <strong>and</strong> intellectual<br />
property. The course involves preparation <strong>of</strong> proposals <strong>and</strong> visits by appropriate pr<strong>of</strong>essionals<br />
Reference Books:<br />
i. J. W. Halloran, 36-hour Course: Entrepreneurship, McGraw-Hill, 1994.<br />
ii. B. R. Barrington, One Key Course Compass, Student Access Kit to Entrepreneurship, Prentice Hall, 2005.<br />
BSE 4102: Ethics for Pr<strong>of</strong>essional Engineers (3CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student will: Apply the ethical concepts<br />
relevant to resolving moral issues in business, industry, <strong>and</strong> other relevant areas <strong>of</strong> concern; <strong>and</strong> articulate <strong>and</strong><br />
defend with good reasons his/her own ethical point <strong>of</strong> view pertaining to specific problem areas in business,<br />
industry, <strong>and</strong> related areas.<br />
Indicative Content: This course examines <strong>and</strong> evaluates the meaning <strong>of</strong> ethics <strong>and</strong> pr<strong>of</strong>essional conduct. A guiding<br />
theme is the human search or quest for values <strong>and</strong> ethical direction in terms <strong>of</strong> pr<strong>of</strong>essional conduct <strong>and</strong> our daily<br />
life relationships with others. Students are expected to articulate <strong>and</strong> evaluate their own ethical principles <strong>and</strong> values<br />
<strong>and</strong> their foundations. The first part <strong>of</strong> this course covers the nature <strong>of</strong> ethics, ethical development, responsibilities<br />
<strong>and</strong> basic ethical directions such as Aristotelian ethics, utilitarian ethics, Kantian ethics <strong>and</strong> rights, <strong>and</strong> various views<br />
<strong>of</strong> justice. The second part <strong>of</strong> the course covers specific business <strong>and</strong> engineering ethical issues such as the<br />
company’s <strong>and</strong> engineer’s ethical obligation to the public, employer-employee ethical obligations including such<br />
topics as the giving <strong>and</strong> receiving <strong>of</strong> gifts, employee theft, trade secrets, computer ethics, fair wages, safety, working<br />
conditions, job satisfaction, employee rights with special emphasis on whistle-blowing, the ethics <strong>of</strong> political tactics<br />
to advance one’s career, <strong>and</strong> discrimination <strong>and</strong> affirmative action. Also, emphasis is given to environmental ethics<br />
including such topics as pollution control, the conservation <strong>of</strong> natural resources, various ethical positions on the<br />
environment, as well as such topics as biomedical ethics, treatment <strong>of</strong> animals, <strong>and</strong> the ethical assessment <strong>of</strong> new<br />
technologies.<br />
References Books:<br />
i. C. B. Fleddermann, Engineering Ethics, 1st edition Prentice Hall 1999.<br />
ii. D. J. Kemper, B. R. S<strong>and</strong>ers, Engineers <strong>and</strong> Their Pr<strong>of</strong>ession, Oxford University Press, USA.<br />
iii. M. Krisen, Engineering, Business <strong>and</strong> Pr<strong>of</strong>essional Ethics, Elsevier Science & Technology, 2007.<br />
BSE 4200: S<strong>of</strong>tware Engineering project II (5 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course the student will have ability to: Demonstrate<br />
independent skills in implementing non-trivial s<strong>of</strong>tware engineering/ research projects by pursuing a lengthy<br />
S<strong>of</strong>tware engineering project; <strong>and</strong> Demonstrate skills <strong>of</strong> Documenting, deploying a testing a well engineered<br />
solution, with assistance <strong>of</strong> one <strong>of</strong> the Pr<strong>of</strong>essors/ Lecturers as adviser/ supervisor.<br />
Indicative Content: The student implements, documents, tests <strong>and</strong> deploys a s<strong>of</strong>tware solution using the state <strong>of</strong> the<br />
art principles, concepts <strong>and</strong> technologies The specific deliverables are: S<strong>of</strong>tware Implementation using state <strong>of</strong> the<br />
art technologies Detailed s<strong>of</strong>tware documentation in accordance to well known practices Installation Manuals User<br />
Manual Testing <strong>and</strong> validation strategy.<br />
122
BSE 4201: S<strong>of</strong>tware Design Patterns (4 CU)<br />
Course Description: Design patterns are st<strong>and</strong>ard solutions to common s<strong>of</strong>tware design problems. Instead <strong>of</strong><br />
focusing on how individual components work, design patterns are a systematic approach that focus <strong>and</strong> describe<br />
abstract systems <strong>of</strong> interaction between classes, objects, <strong>and</strong> communication flow. This course explores advanced<br />
principles <strong>of</strong> object-oriented design by studying key s<strong>of</strong>tware design patterns. The patterns are drawn from a variety<br />
<strong>of</strong> sources <strong>and</strong> illustrated through examples <strong>and</strong> case studies. Examples are presented in Java, C++ or C sharp.<br />
Students will also have an opportunity to apply these patterns through a series <strong>of</strong> h<strong>and</strong>s-on exercises.<br />
Indicative Content: Basic Patterns: Structural patterns Creational patterns; Behavioral Grasp <strong>and</strong> Cooper, Vlissides<br />
Pattern Hatching; Relationships between Patterns: Pree’sMetapatterns Zimmers Relations. Tichys classification,<br />
Classification in; Automation <strong>of</strong> Patterns: Automation <strong>of</strong> Design Patterns Together, OpenJava <strong>and</strong> Design Patterns,<br />
Compost/Recoder Refactoring Copliens Symmetries; Historic Roots: The timeless way <strong>of</strong> building; Advanced<br />
Patterns: Parallelism Patterns Exclusion, State Dependence, PLOP2, Coordination; Reactive patterns Analysis<br />
Patterns Re engineering Patterns Automation <strong>of</strong> Design Patterns; Process Patterns Organizational Patterns;<br />
Applications <strong>of</strong> Design Patterns: Extreme Programming Cope: Multi-Paradigm Design<br />
Reference Books:<br />
i. E. Gamma et al. Design Patterns, Elements <strong>of</strong> Reusable Object-Oriented S<strong>of</strong>tware, Addison Wesley, 1995.<br />
ii. W. Pree. Design Patterns for Object-Oriented S<strong>of</strong>tware Development, Wokingham: Addison-Wesley/ACM<br />
Press, 1996.<br />
iii. F. Buschmann, K. Henney, D. C. Schmidt, On Patterns <strong>and</strong> Pattern Language, 2005.<br />
BSE 4203: Information Technology <strong>and</strong> Society (3 CU)<br />
Course Description: Upon successful completion <strong>of</strong> this course, the student will: Underst<strong>and</strong> the impact <strong>of</strong><br />
computerization on society; <strong>and</strong> appreciate the variety <strong>of</strong> computerized systems in our everyday life.<br />
Indicative Content: Impact <strong>of</strong> computers on society; Social structures, their boundaries <strong>and</strong> development; Ethical<br />
issues (Basic honesty, sincerity, etc.) relating to system development <strong>and</strong> its use; Systems security <strong>and</strong> protection;<br />
Dependency constraints, self-reliance; Legal issues relating to computerized systems; Uses <strong>and</strong> applications <strong>of</strong><br />
computers for national development - communication, agriculture, health care delivery, banking, administration,<br />
accounting, planning <strong>and</strong> decision making.<br />
Reference Books:<br />
i. W. H. Dutton, Information <strong>and</strong> Communication Technologies: Visions <strong>and</strong> Realities, Oxford University<br />
Press, 1996.<br />
ii. R. Kling (Ed), Computerization <strong>and</strong> Controversy: Value conflicts <strong>and</strong> social choices, Academic Press,<br />
1996.<br />
iii. W. H. Dutton, Society on the Line: information politics in the digital age, Oxford University Press, 1999.<br />
iv. G. Walsham, Interpreting Information Systems in Organisations, John Wiley, 1993.<br />
v. F. Webster, Theories <strong>of</strong> the Information Society, Routledge, 1995.<br />
BSE 4204: Emerging Trends in S<strong>of</strong>tware Engineering (4 CU)<br />
Course Description: Given the rapid nature <strong>of</strong> the computing discipline, the objective <strong>of</strong> this course is to equip<br />
students with a set <strong>of</strong> emerging trends in s<strong>of</strong>tware engineering that may be encountered in their practice.<br />
Indicative Content: New trends in s<strong>of</strong>tware engineering not yet introduced in the syllabus will be covered <strong>and</strong> the<br />
current topics in s<strong>of</strong>tware engineering <strong>and</strong> its applications.<br />
References: No particular reference will be used for this course unit, except whatever is recommended by head <strong>of</strong><br />
department in consultation with members <strong>of</strong> the Department.<br />
123
10.0 SHORT COURSES<br />
10.1 Short Courses taught at CIT<br />
• Certificate in Computer Application (CCA)<br />
• CIT Cisco Academy Programmes<br />
o Cisco Certified Network Associate (CCNA)<br />
o Cisco Certified Network Pr<strong>of</strong>essional (CCNP)<br />
o IT Essentials I & II<br />
o International Computer Driving License (ICDL)<br />
• Multimedia Certified Courses<br />
o Certificate in Graphics <strong>and</strong> Image Editing<br />
o Certificate in Video Editing <strong>and</strong> Animation<br />
o Certificate in Dynamic Website Development<br />
• Micros<strong>of</strong>t Academy Programmes<br />
o Micros<strong>of</strong>t Certified Database Administrators (MCDBA)<br />
o Micros<strong>of</strong>t Certified Systems Engineers (MCSA)<br />
o Micros<strong>of</strong>t Certified Systems Administrators (MCSE)<br />
o Micros<strong>of</strong>t Office User Specialists (MOS)<br />
o Micros<strong>of</strong>t Certified Solutions Developer (MCSD)<br />
• Oracle Programmes<br />
o Oracle Certified Associate (OCA)<br />
o Oracle Certified Pr<strong>of</strong>essional (OCP)- Proposed<br />
• Staff Development Programme (Advanced End –User Training Programme in ICT Skills)<br />
• Geographical Information Systems(GIS)<br />
• Computer Systems Engineering Course<br />
10.2 Certificate in Computer Applications (CCA)<br />
Students are trained on how to use a Computer <strong>and</strong> Computer Applications in an <strong>of</strong>fice or business setting. CCA<br />
course comprises <strong>of</strong>: Introduction to Computers <strong>and</strong> Computer Systems, Introduction to Operating Systems,<br />
Word Processing with Micros<strong>of</strong>t word, Spreadsheets with Micros<strong>of</strong>t Excel, <strong>and</strong> Presentations with Micros<strong>of</strong>t Power<br />
Point, Databases with Ms. Access, Graphics Design with Corel Draw <strong>and</strong> Web Technology for managing Email <strong>and</strong><br />
using search engines. CCA is a 50 hour course, no matter what times <strong>and</strong> a date a person chooses to study. CCA<br />
gives a wide <strong>and</strong> vibrant variety <strong>of</strong> course which have been carefully chosen to give any individual a good<br />
jump start to computing <strong>and</strong> making them competent in computing.<br />
Course Content:<br />
• Introduction to Computers <strong>and</strong> Computer Systems which basically covers the History <strong>of</strong> Computers,<br />
the types <strong>of</strong> computers <strong>and</strong> the different computer parts broken into Hardware <strong>and</strong> s<strong>of</strong>tware,<br />
components <strong>of</strong> the computer <strong>and</strong> aspects <strong>of</strong> computing.<br />
• Introduction to Operating Systems which covers the different types <strong>of</strong> operating systems we have,<br />
choosing a good operating systems <strong>and</strong> the advantages <strong>and</strong> disadvantages one has over the other.<br />
• Micros<strong>of</strong>t Word basically covers using MS Word but emphasis is on Introduction <strong>of</strong> Ms word, Window<br />
properties <strong>and</strong> saving, Headers, Footers & Footnotes, find & replace, editing fonts & alignment,<br />
Columns, section & column breaks, tables, Using <strong>and</strong> creating a mail merge among many.<br />
• Micros<strong>of</strong>t Excel covers introduction to Excel, properties <strong>of</strong> the worksheets, using simple formulas<br />
(adding, multiplying etc), Complex formulae (importing formulae, using the paste function & help) <strong>and</strong><br />
Charts <strong>and</strong> the chart wizards, save options & print options.<br />
124
• Micros<strong>of</strong>t PowerPoint covers Introduction(Auto content wizard, design templates <strong>and</strong> layouts),<br />
inserting images, charts, audio <strong>and</strong> video streams, Designing in PowerPoint (certificate or Dinner<br />
cards) <strong>and</strong> Doing a presentation, animating <strong>and</strong> slide transitions.<br />
• Micros<strong>of</strong>t Access covers Introduction to Databases <strong>and</strong> underst<strong>and</strong>ing terms & tables, designing<br />
multiple tables, creating relationships <strong>and</strong> creating Queries, Forms <strong>and</strong> Reports.<br />
• Web Technologies which covers underst<strong>and</strong>ing networks <strong>and</strong> Search engines, emailing <strong>and</strong> sending<br />
attachments.<br />
• CorelDraw basically covers Introduction to CorelDraw, underst<strong>and</strong>ing <strong>and</strong> using the tools <strong>and</strong><br />
Designing a business card.<br />
Minimum Admission Requirements:<br />
To be admitted for a course leading to the award <strong>of</strong> Certificate in Computer Applications, a c<strong>and</strong>idate must know<br />
English.<br />
Note: Individuals intending to attend the CCA course are advised to pay <strong>and</strong> register early enough before the<br />
commencement <strong>of</strong> the particular intake they are interested in as admissions to intakes are on first-come-first-served<br />
basis <strong>and</strong> there is a limit on the class size.<br />
10.3 International Computer Driving License (ICDL)<br />
This course equips students with confidence to participate in the global digital society; improves the students’<br />
quality <strong>of</strong> life by gaining a better working knowledge <strong>of</strong> computers; increases their value in the workplaces by<br />
possessing a valuable credential.<br />
Course Content:<br />
Module 1: Basics <strong>of</strong> Information Technology<br />
Module 2: using a computer <strong>and</strong> file management Module 3: word processing<br />
Module 4: Micros<strong>of</strong>t Excel (Spreadsheets)<br />
Module 5: Micros<strong>of</strong>t access (Database)<br />
Module 6: Micros<strong>of</strong>t PowerPoint (presentations) Module 3: Information <strong>and</strong> Communication<br />
Minimum Admission Requirements:<br />
O’ Level certificate is required<br />
10.4 Micros<strong>of</strong>t Academy Programmes<br />
Since June 2003, the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> IT has been running a Micros<strong>of</strong>t IT Academy Programme. To date,<br />
more than 100 students have acquired different IT certifications by attending different Programmes <strong>of</strong>fered in the<br />
Academy. This course prepares students for academic education tracks, career opportunities as Network<br />
Administrators, Technical Support Specialists, S<strong>of</strong>tware/Hardware Developers, Design Engineers, <strong>and</strong> Office<br />
Specialists. Students train in: Visual Studio, NET Pr<strong>of</strong>essional, Visual Basic, Visual C++, Visual FoxPro, Visual<br />
InterDev, <strong>and</strong> Visual J++; Micros<strong>of</strong>t .NET Enterprise Servers, Windows Server, SQL Server, Exchange Server,<br />
Commerce Server, BizTalk Server, Host Integration Server, Application Center Server, Systems Management<br />
Server, Mobile Information 2001 Server, <strong>and</strong> Content Management Servers; Micros<strong>of</strong>t Operating Systems:<br />
Windows 2000 Pr<strong>of</strong>essional, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter<br />
Server, Windows 2000 Small Business Server, <strong>and</strong> Windows XP Pr<strong>of</strong>essional; Micros<strong>of</strong>t Office 2000 <strong>and</strong><br />
Micros<strong>of</strong>t Office XP Pr<strong>of</strong>essional.<br />
The Micros<strong>of</strong>t IT Academy Programme is a Programme designed to allow accredited academic institutions to deliver to<br />
students a premium education on cutting-edge Micros<strong>of</strong>t® technologies. From the desktop to networking <strong>and</strong><br />
programming, students <strong>and</strong> employers worldwide look to Micros<strong>of</strong>t IT Academies for the latest technologies, in-<br />
125
dem<strong>and</strong> skills, <strong>and</strong> the assurance <strong>of</strong> the Micros<strong>of</strong>t quality st<strong>and</strong>ard. In line with this general aim, the Micros<strong>of</strong>t IT<br />
Academy <strong>of</strong> CIT delivers training in accordance with guidelines issued by Micros<strong>of</strong>t world-wide. The Academy<br />
follows the Micros<strong>of</strong>t Official Curriculum guidelines to deliver courses leading to any <strong>of</strong> the following<br />
certifications:<br />
• Micros<strong>of</strong>t Certified Database Administrators (MCDBAs)<br />
• Micros<strong>of</strong>t Certified Systems Engineers (MCSEs)<br />
• Micros<strong>of</strong>t Certified Systems Administrator (MCSA)<br />
• Micros<strong>of</strong>t Office User Specialist(MOS)<br />
• Micros<strong>of</strong>t Certified Solutions Developer (MCSD).<br />
The Academy uses services <strong>of</strong> Micros<strong>of</strong>t Certified Trainers (MCTs) to deliver the training. It is a Micros<strong>of</strong>t basic<br />
requirement that IT Academies associate with MCT certified trainers to ensure that Micros<strong>of</strong>t’s high technical<br />
training st<strong>and</strong>ards are met when training is obtained from the accredited institutions.<br />
i. Programme Structure<br />
Micros<strong>of</strong>t Certified Database Administrators (MCDBAs)<br />
EXAM REF: DESCRIPTION STATUS<br />
Exam 70-228 Installing, Configuring <strong>and</strong> Administering Micros<strong>of</strong>t SQL Server 2000<br />
Enterprise Edition<br />
Exam 70-229: Designing <strong>and</strong> Implementing Databases with Micros<strong>of</strong>t SQL<br />
Server 2000 Enterprise Edition<br />
Exam 70-290: Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server 2003<br />
Environment<br />
Exam 70-291: Implementing, Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t<br />
Windows Server 2003 Network Infrastructure<br />
126<br />
Core<br />
Core<br />
Core Elective<br />
Core Elective<br />
Exam 70-215: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows Server 2000 Core Elective<br />
Exam 70-216: Implementing <strong>and</strong> Administering Micros<strong>of</strong>t Windows 2000<br />
Network Infrastructure<br />
Exam 70-293: Planning <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server 2003<br />
Network Infrastructure<br />
Exam 70-175: Designing <strong>and</strong> Implementing Distributed Applications with<br />
Micros<strong>of</strong>t Visual Basic 6.0<br />
MCSE on Micros<strong>of</strong>t Windows 2000 Certification Requirements<br />
Exam 70-210: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows Pr<strong>of</strong>essional Core<br />
Exam 70-215: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows Server Core<br />
Exam 70-216: Implementing <strong>and</strong> Administering a Micros<strong>of</strong>t Windows 2000 Network<br />
Infrastructure<br />
Exam 70-17: Implementing <strong>and</strong> Administering a Micros<strong>of</strong>t Windows 2000 Directory<br />
Services Infrastructure<br />
Elective<br />
Elective<br />
Elective<br />
Exam 70-219: Designing a Micros<strong>of</strong>t Windows 2000 Directory Services Infrastructure Core Elective<br />
Exam 70-220: Designing Security for a Micros<strong>of</strong>t Windows 2000 Network Core Elective<br />
Exam 70-221: Designing a Micros<strong>of</strong>t Windows 2000 Network Infrastructure Core Elective<br />
Core<br />
Core
Exam 70-297: Designing a Micros<strong>of</strong>t Windows Server 2003 Active Directory <strong>and</strong> Network<br />
Infrastructure<br />
127<br />
Core Elective<br />
Exam 70-298: Designing Security for a Micros<strong>of</strong>t Windows Server 2003 Network Core Elective<br />
Exam 70-228: Installing, Configuring <strong>and</strong> Administering Micros<strong>of</strong>t SQL Server 2000<br />
Enterprise Edition<br />
MCSE on Micros<strong>of</strong>t Windows Server 2003 Certification Requirements<br />
Exam 70-210: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows Pr<strong>of</strong>essional Core<br />
Exam 70-290: Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server<br />
2003 Environment<br />
Exam 70-291: Implementing, Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t<br />
Windows Server 2003 Network Infrastructure<br />
Exam 70-293: Planning <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server<br />
2003 Network Infrastructure<br />
Exam 70-294: Planning, Implementing <strong>and</strong> Maintaining a Micros<strong>of</strong>t<br />
Windows Server 2003 Active Directory Infrastructure<br />
Exam 70-297: Designing a Micros<strong>of</strong>t Windows Server 2003 Active Elective<br />
Directory <strong>and</strong> Network Infrastructure<br />
Exam 70-298: Designing Security for a Micros<strong>of</strong>t Windows Server 2003<br />
Network Infrastructure<br />
Exam 70-229: Designing <strong>and</strong> Implementing Databases with Micros<strong>of</strong>t<br />
SQL Server 2000 Enterprise Edition<br />
Exam 70-228: Installing, Configuring <strong>and</strong> Administering Micros<strong>of</strong>t SQL<br />
Server 2000 Enterprise Edition<br />
MCSA on Micros<strong>of</strong>t Windows Server 2003 Certification Requirements<br />
Exam 70-210: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows<br />
Pr<strong>of</strong>essional<br />
Exam 70-290: Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server 2003<br />
Environment<br />
Exam 70-291: Implementing, Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows<br />
Server 2003 Network Infrastructure<br />
Exam 70-228: Installing, Configuring <strong>and</strong> Administering Micros<strong>of</strong>t SQL Server<br />
2000 Enterprise Edition<br />
MCSA on Micros<strong>of</strong>t Windows 2000 Certification Requirements<br />
Exam 70-210: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows<br />
Pr<strong>of</strong>essional<br />
Exam 70-215: Installing, Configuring, <strong>and</strong> Administering Micros<strong>of</strong>t Windows<br />
Server<br />
Exam 70-218: Managing a Micros<strong>of</strong>t Windows 2000 Network Environment Core<br />
Exam 70-214: Implementing <strong>and</strong> Administering Security in a Micros<strong>of</strong>t<br />
Windows 2000 Network<br />
Elective<br />
Core<br />
Core<br />
Core<br />
Core<br />
Core<br />
Elective Core<br />
Elective<br />
Elective<br />
Core<br />
Core<br />
Core<br />
Elective<br />
Core<br />
Core<br />
Elective
Exam 70-216: Implementing <strong>and</strong> Administering a Micros<strong>of</strong>t Windows 2000<br />
Network Infrastructure<br />
Exam 70-224: Installing, Configuring <strong>and</strong> Administering Micros<strong>of</strong>t Exchange<br />
2000 Server<br />
Exam 70-228: Installing, Configuring <strong>and</strong> Administering Micros<strong>of</strong>t SQL Server<br />
2000 Enterprise Edition<br />
ii. Course Unit Description<br />
MCDBA on Micros<strong>of</strong>t SQL Server 2000 Certification Requirements<br />
128<br />
Elective<br />
Elective<br />
Elective<br />
The MCDBA credential is the premier certification for pr<strong>of</strong>essionals who implement <strong>and</strong> administer Micros<strong>of</strong>t SQL<br />
Server databases. Micros<strong>of</strong>t Certified Database Administrators (MCDBAs) design, implement, <strong>and</strong> administer<br />
Micros<strong>of</strong>t SQL Server databases. Micros<strong>of</strong>t Certified Database Administrator (MCDBA) on Micros<strong>of</strong>t SQL<br />
Server 2000 c<strong>and</strong>idates need to pass three core exams <strong>and</strong> one elective exam that provide a valid <strong>and</strong><br />
reliable measure <strong>of</strong> technical pr<strong>of</strong>iciency <strong>and</strong> expertise in the implementation <strong>and</strong> administration <strong>of</strong> SQL<br />
Server databases. Micros<strong>of</strong>t Windows Server 2003 exams now can be used to fulfill the networking systems core<br />
exam requirement in combination with SQL Server 2000 exams.<br />
Core Exams (3 Exams Required)<br />
MCDBA c<strong>and</strong>idates are required to pass one SQL Server administration exam <strong>and</strong> one SQL Server design exam. In<br />
addition, MCDBA c<strong>and</strong>idates have the option to pass either one Windows 2000 Server or one Windows Server<br />
2003 exam to fulfill the networking systems core requirement.<br />
Elective Exams (1 Exam Required)<br />
In addition to the core exam requirements, you must also pass one elective exam that provides pro<strong>of</strong> <strong>of</strong> expertise<br />
with a specific Micros<strong>of</strong>t server product.<br />
The following Windows Server 2003 exams have been added to the MCDBA track as options to the core<br />
requirements:<br />
• Exam 70-290: Managing <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server 2003 Environment.<br />
• Exam 70-291: Implementing, Managing, <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server 2003 Network<br />
Infrastructure will be added in September 2003 to the pool <strong>of</strong> electives.<br />
• Exam 70-293: Planning <strong>and</strong> Maintaining a Micros<strong>of</strong>t Windows Server 2003 Network Infrastructure will be<br />
added in September 2003 to the pool <strong>of</strong> electives.<br />
MCSE on Micros<strong>of</strong>t Windows 2000 Certification Requirements<br />
The MCSE credential is the premier certification for pr<strong>of</strong>essionals who analyze the business requirements<br />
<strong>and</strong> design <strong>and</strong> implement the infrastructure for business solutions based on the Micros<strong>of</strong>t Windows 2000<br />
platform <strong>and</strong> Micros<strong>of</strong>t server s<strong>of</strong>tware. Micros<strong>of</strong>t Certified Systems Engineers (MCSEs) design <strong>and</strong><br />
implement an infrastructure solution based on the Windows platform <strong>and</strong> Micros<strong>of</strong>t Servers s<strong>of</strong>tware. They<br />
are among the most technically pr<strong>of</strong>icient pr<strong>of</strong>essionals available to help organizations make a successful<br />
transition to the Windows 2000 operating system <strong>and</strong> to ensure that they reap the ongoing benefits that<br />
Windows 2000 <strong>and</strong> Active Directory are designed to deliver. Specializations include MCSE: Messaging <strong>and</strong><br />
MCSE: Security. Micros<strong>of</strong>t Certified Systems Engineer (MCSE) c<strong>and</strong>idates on the Micros<strong>of</strong>t Windows® 2000 track<br />
are required to pass seven exams or the equivalent that include the following:
Core Exams (5 Exams Required)<br />
• Four (4) Operating System exams. C<strong>and</strong>idates must pass one exam from each set <strong>of</strong> operating<br />
system exams—client operating system <strong>and</strong> networking system—in the table that follows.<br />
• One (1) design exam. C<strong>and</strong>idates must pass one exam that provides pro<strong>of</strong> <strong>of</strong> expertise for design skills<br />
for specific Micros<strong>of</strong>t server technologies.<br />
Elective Exams (2 Exams Required). The elective exams provide a valid <strong>and</strong> reliable measure <strong>of</strong> technical<br />
pr<strong>of</strong>iciency <strong>and</strong> expertise in solution design <strong>and</strong> implementation.<br />
MCSE on Micros<strong>of</strong>t Windows Server 2003 Certification Requirements<br />
Micros<strong>of</strong>t Certified Systems Engineer (MCSE) c<strong>and</strong>idates on the Micros<strong>of</strong>t Windows Server 2003 track are<br />
required to satisfy the following requirements:<br />
Core Exams (6 Exams Required)<br />
• Four networking system exams<br />
• One client Operating System exam<br />
• One design exam<br />
Elective Exams (1 Exam Required)<br />
Together with the core exams, the elective exams provide a valid <strong>and</strong> reliable measure <strong>of</strong> technical pr<strong>of</strong>iciency <strong>and</strong><br />
expertise in solution design <strong>and</strong> implementation.<br />
Note: Core exams are a must for MCSE on Micros<strong>of</strong>t Windows Server 2003 Core Elective exams: Any one <strong>of</strong> the<br />
two exams must be done<br />
MCSA on Micros<strong>of</strong>t Windows Server 2003 Certification Requirements<br />
The MCSA on Micros<strong>of</strong>t Windows 2000 <strong>and</strong> Windows Server 2003 certification is designed for pr<strong>of</strong>essionals who<br />
implement, manage, <strong>and</strong> troubleshoot existing network <strong>and</strong> system environments based on the Micros<strong>of</strong>t Windows<br />
2000 Server platforms. Micros<strong>of</strong>t Certified Systems Administrators (MCSAs) administer network <strong>and</strong> systems<br />
environments based on the Micros<strong>of</strong>t Windows platforms. Specializations include MCSA: Messaging <strong>and</strong> MCSA:<br />
Security. The Micros<strong>of</strong>t Certified Systems Administrator (MCSA) certification helps students to advance their career<br />
by ensuring they have the skills to successfully manage <strong>and</strong> troubleshoot system environments running on Micros<strong>of</strong>t<br />
Windows operating systems. Micros<strong>of</strong>t Windows® Server 2003-based operating environments. MCSA c<strong>and</strong>idates are<br />
required to pass three core exams <strong>and</strong> one elective exam.<br />
Note: Core exams are a must. One elective exam must be done.<br />
MCSA on Micros<strong>of</strong>t Windows 2000 Certification Requirements<br />
MCSA c<strong>and</strong>idates are required to pass three core exams <strong>and</strong> one elective exam.<br />
Micros<strong>of</strong>t Office Specialist (MOS)<br />
Micros<strong>of</strong>t Office Specialist is the only comprehensive, performance-based certification Programme approved by<br />
Micros<strong>of</strong>t to validate desktop computer skills using Micros<strong>of</strong>t Office applications. Micros<strong>of</strong>t Office Specialists<br />
(Office Specialists) are globally recognized for demonstrating advanced skills with Micros<strong>of</strong>t desktop<br />
s<strong>of</strong>tware. To earn the Micros<strong>of</strong>t Office Specialist (Office Specialist) certification for Micros<strong>of</strong>t Office, one must pass<br />
one or more certification exams. Office Specialist exams provide a valid <strong>and</strong> reliable measure <strong>of</strong> technical<br />
pr<strong>of</strong>iciency <strong>and</strong> expertise by evaluating your overall comprehension <strong>of</strong> Office or Micros<strong>of</strong>t Project Programmes,<br />
your ability to use their advanced features, <strong>and</strong> your ability to integrate the Office Programmes with other s<strong>of</strong>tware<br />
Programmes. Office Specialist exams are administered at Authorized Testing Centers worldwide.<br />
129
MCSD for Micros<strong>of</strong>t .NET Certification<br />
Micros<strong>of</strong>t Certified Solution Developers (MCSDs) design <strong>and</strong> develop leading-edge business solutions with<br />
Micros<strong>of</strong>t development tools, technologies, platforms, <strong>and</strong> the Windows architecture. The Micros<strong>of</strong>t Certified<br />
Solution Developer (MCSD) for Micros<strong>of</strong>t .NET credential is the top-level certification for advanced<br />
developers who design <strong>and</strong> develop leading-edge enterprise solutions, using Micros<strong>of</strong>t development tools <strong>and</strong><br />
technologies as well as the Micros<strong>of</strong>t .NET Framework. C<strong>and</strong>idates for this certification are required to pass four<br />
core exams <strong>and</strong> one elective exam. The core exams provide a valid <strong>and</strong> reliable measure <strong>of</strong> technical<br />
pr<strong>of</strong>iciency <strong>and</strong> expertise in developing <strong>and</strong> maintaining enterprise applications that are based on Micros<strong>of</strong>t<br />
development tools, technologies, <strong>and</strong> platforms. The elective exam provides pro<strong>of</strong> <strong>of</strong> expertise with a specific<br />
Micros<strong>of</strong>t server product.<br />
Minimum Admission Requirements for Micros<strong>of</strong>t Academy Courses<br />
The courses are skills-based <strong>and</strong> therefore open to every one who is computer literate <strong>and</strong> has knowledge <strong>of</strong> English.<br />
10.5 Staff Development Programmes<br />
This is done through seminars, workshops <strong>and</strong> short courses such as Certificate in Information Technology run by<br />
the End User Training Project (EUTP) for all academic <strong>and</strong> administrative staff <strong>and</strong> students <strong>of</strong> Makerere<br />
University; <strong>and</strong> Consultancy services to both the private <strong>and</strong> public sectors.<br />
10.6 Multimedia Certificate Courses:<br />
The following are the New Courses that started in April 2009 <strong>and</strong> are aimed at <strong>of</strong>fering H<strong>and</strong>s On Experience in<br />
Multimedia Applications. These courses are geared towards industrial production <strong>and</strong> are taught by leading experts<br />
in the field. They will mainly be PRACTICAL <strong>and</strong> will be <strong>of</strong>fered in the newly equipped Multimedia Lab at CIT.<br />
These courses include;<br />
• Introduction to Multimedia Applications<br />
• Certificate in Graphics <strong>and</strong> Image Editing<br />
• Certificate in Video Editing <strong>and</strong> Animation<br />
• Certificate in Digital Audio using Logic Pro<br />
• Certificate in Dynamic Website Development<br />
• Certificate in Publishing <strong>and</strong> Br<strong>and</strong>ing<br />
Minimum Admission Requirements for Micros<strong>of</strong>t Academy Courses<br />
Computer Knowledge is required. All applicants should have completed Senior Six at the minimum.<br />
10.7 Oracle Programmes<br />
The Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology, Makerere University, is a member <strong>of</strong> the Oracle<br />
Academy Initiative <strong>of</strong>fering Oracle Certified Associate (OCA) <strong>and</strong> Oracle Associate Pr<strong>of</strong>essional (OCP).<br />
However OCP has not taken <strong>of</strong>f at the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology but it is hoped to begin<br />
very soon. Oracle Associates acquire a foundation knowledge that will allow them to keep the Oracle<br />
database environment running all the time. They are able to install, maintain, troubleshoot, <strong>and</strong> fine-tune the<br />
Oracle9i database with all the newest features the Oracle9i database <strong>of</strong>fers. The Oracle9i Database Administrator<br />
Certification consists <strong>of</strong> two paths, which are to be taken in sequence:<br />
i. Oracle9i Database Administrator Certified Associate (OCA)<br />
Two exams are required to obtain the Oracle 9iDBA OCA.<br />
a) Introduction to Oracle9i SQL<br />
b) Oracle9i Database Fundamentals I<br />
130
a) Introduction to 9i SQL:<br />
Course Content: Writing a Basic SQL Statement; Restricting <strong>and</strong> Sorting Data; Single Row Functions; Displaying<br />
Data from Multiple Tables; Writing Sub queries; Producing Readable Output with iSQL*Plus; Manipulating Data;<br />
Creating <strong>and</strong> Managing Tables; Including Constraints; Creating Views; Other Database Objects; SQL Workshop;<br />
Using Set Operators; Oracle9i Single Row Functions; Enhancements to the GROUP BY Clause; Advanced Sub<br />
queries; Hierarchical Retrieval; Extensions to DDL <strong>and</strong> DML Statements <strong>and</strong> Writing Scripts to Generate Scripts.<br />
b) Oracle9i Database Fundamentals I:<br />
Course Content: Oracle Architectural Components; Getting Started with the Oracle Server; Identifying the features<br />
<strong>of</strong> the Universal Installer; Defining the Optimal Flexible Architecture; Identifying database administrative users;<br />
Managing an Oracle Instance; Creating a Database; Using the Data Dictionary; Maintaining the Control File;<br />
Maintaining Redo Log Files; Managing Table spaces <strong>and</strong> Data files; Describing storage hierarchy; Establishing the<br />
difference between SYSTEM <strong>and</strong> Non-SYSTEM table spaces; Storage Structures <strong>and</strong> Relationships; Managing<br />
Undo Data; Creating <strong>and</strong> maintaining UNDO tables paces; Managing Tables <strong>and</strong> Managing Indexes<br />
ii. Oracle9i Database Administrator Certified Pr<strong>of</strong>essional (OCP)<br />
After achieving the OCA, Oracle training has to be continued along with gaining on-the-job experience to pass the<br />
required exams <strong>and</strong> move up to the OCP level. For 9iOCP one instructor led course is a requirement. Exams for OCP<br />
include:<br />
• Oracle9i Database Fundamentals I<br />
• Oracle9i Database Performance <strong>and</strong> Tuning<br />
Minimum Admission Requirements<br />
To be admitted for a course leading to the award <strong>of</strong> Certificate in OCA, a c<strong>and</strong>idate must have completed A’ Level <strong>and</strong><br />
therefore he/she has A’ Level certificate.<br />
iii. Oracle Certified Pr<strong>of</strong>essional (OCP) - Proposed<br />
10.8 Geographical Information Systems (GIS)<br />
Subject Details;<br />
a) Introduction to GIS<br />
The Faculty <strong>of</strong> computing <strong>and</strong> IT has introduced a new short course in Geographical Information Systems (GIS) that<br />
will cover; Introduction to GIS, GIS & Business, GIS & Telecommunications, GIS & Government. It will be taught<br />
in CIT's newly set up advanced GIS Lab. Training in specialized Geographical Information Systems (GIS) topics for<br />
private <strong>and</strong> public sectors in Ug<strong>and</strong>a are as follows;<br />
• Spatial Data Capture <strong>and</strong> Input;<br />
• Spatial Data Structures;<br />
• Spatial Data Manipulation <strong>and</strong> Analysis;<br />
• Practicals on Online GIS <strong>and</strong> ArcExplorer.<br />
b) Application to GIS<br />
i. General Introduction to GIS;<br />
ii. Practical GIS sessions in various application domains such as:<br />
• Utilities (Water, Electricity, Telecom),<br />
• Governance,<br />
• Fleet Management,<br />
• Marketing Intelligence.<br />
131
10.9 Cisco Academy Programmes<br />
In July 2002, Makerere University Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology (CIT) was approved as a<br />
Regional Cisco Networking Academy under a partnership with Cisco Systems Inc. The four popular Cisco<br />
Systems Programmes <strong>of</strong>fered are; (a) Cisco Certified Network Associate (CCNA) (b) Cisco Certified Network<br />
Pr<strong>of</strong>essional (CCNP) (c) Wireless Local Area Network (WLAN) <strong>and</strong> (d) Instructional Technology Essentials I<br />
<strong>and</strong> II (IT Essentials I & II.<br />
A Cisco Certified Network Associate (CCNA) Programme<br />
CCNA is a comprehensive curriculum that includes four separate modules. The curriculum emphasizes the use<br />
<strong>of</strong> decision-making <strong>and</strong> problem-solving techniques to resolve networking issues. Students learn how to<br />
install <strong>and</strong> configure switches <strong>and</strong> routers in local <strong>and</strong> wide-area networks using various protocols <strong>and</strong> provide<br />
Level 1 troubleshooting service, <strong>and</strong> improve network performance <strong>and</strong> security. Additionally, training is provided in<br />
the proper care, maintenance, <strong>and</strong> use <strong>of</strong> networking s<strong>of</strong>tware tools <strong>and</strong> equipment. The CCNA certification course<br />
features the following modules:<br />
a) CCNA Discovery1: Networking for Home <strong>and</strong> Small Businesses<br />
During the Cisco® Networking Academy course, administered by the undersigned instructor, the student<br />
was able to pr<strong>of</strong>iciently: Set up a personal computer system, including the operating system, interface cards<br />
<strong>and</strong> peripheral devices; Plan <strong>and</strong> install a small business network <strong>and</strong> connect it to the Internet; Verify <strong>and</strong><br />
troubleshoot network <strong>and</strong> Internet connectivity; Share resources such as files <strong>and</strong> printers among multiple<br />
computers; Recognize <strong>and</strong> mitigate security threats to a home network; Configure <strong>and</strong> certify common<br />
Internet applications; Configure basic IP services through a GUI.<br />
b) CCNA Discovery2: Working at a Small-to-Medium Business or ISP<br />
During the Cisco® Networking Academy course, administered by the undersigned instructor, the student<br />
was able to pr<strong>of</strong>iciently: Describe the structure <strong>of</strong> the Internet <strong>and</strong> how communication occurs between<br />
hosts; Install, configure, <strong>and</strong> troubleshoot Cisco IOS devices for Internet <strong>and</strong> server connectivity; Plan a<br />
basic wired infrastructure to support network traffic; Configure a server to share resources <strong>and</strong> provide<br />
common Web services; Implement basic WAN connectivity using Telco services; Demonstrate proper<br />
disaster recovery procedures <strong>and</strong> perform server backups; Monitor network performance <strong>and</strong> isolate<br />
failures; Troubleshoot problems using an organized, layered procedure; Describe the OSI model <strong>and</strong> the<br />
process <strong>of</strong> encapsulation.<br />
c) CCNA Discovery3: Introducing Routing <strong>and</strong> Switching in the Enterprise<br />
During the Introducing Routing <strong>and</strong> Switching in the Enterprise course, administered by the undersigned<br />
instructor, the student demonstrated the following competencies: Configure a switch with VLANs <strong>and</strong><br />
inter-switch communication; Perform LAN, WAN, <strong>and</strong> VLAN troubleshooting using a structured<br />
methodology <strong>and</strong> the OSI model; Implement a LAN for an approved network design; Implement access<br />
lists to permit or deny specified traffic; Implement WAN links; Configure routing protocols on Cisco<br />
devices.<br />
d) CCNA Discovery4: Designing <strong>and</strong> Supporting Computer Networks<br />
During the Cisco® Networking Academy course, administered by the undersigned instructor, the student<br />
was able to pr<strong>of</strong>iciently: Gather customer requirements; Design a simple Internetwork using Cisco<br />
technology; Design an IP addressing scheme to meet LAN requirements; Create an equipment list to meet<br />
LAN design requirements; Create <strong>and</strong> present a proposal to a customer; Install <strong>and</strong> configure a prototype<br />
Internetwork; Obtain <strong>and</strong> upgrade Cisco IOS S<strong>of</strong>tware in Cisco devices.<br />
132
Minimum Admission Requirements<br />
To be admitted for a course leading to the award <strong>of</strong> CCNA Certificate, a c<strong>and</strong>idate must have completed O’ Level <strong>and</strong><br />
thus possesses O’ Level Certificate.<br />
B. Cisco Certified Network Pr<strong>of</strong>essional (CCNP) Programme<br />
The pr<strong>of</strong>essional-level curriculum builds on CCNA with more complex network configurations, diagnosis, <strong>and</strong><br />
troubleshooting. Students learn about complex network configurations <strong>and</strong> how to diagnose <strong>and</strong> troubleshoot<br />
network problems. Trains students to install configure <strong>and</strong> operate local <strong>and</strong> wide-area networks (LANs <strong>and</strong> WANs),<br />
<strong>and</strong> dial access services for organizations with networks from 100 to more than 500 nodes with protocols <strong>and</strong><br />
technologies such as: TCP/IP, OSPF, EIGRP, BGP, ISDN, Frame Relay, STP, <strong>and</strong> VTP. The focus is on<br />
developing those skills that enable students to implement scalable networks, build campus networks using<br />
multilayer switching technologies, create <strong>and</strong> deploy a global intranet, <strong>and</strong> troubleshooting routers <strong>and</strong><br />
switches for multiprotocol client hosts <strong>and</strong> services. The CCNP certification course features the following modules:<br />
a) CCNP1: Building Scalable Internetworks<br />
During the Building Scalable Internetworks course, administered by the undersigned instructor, the student<br />
demonstrated the following competencies: Explain routing in the enterprise network; Implement <strong>and</strong> verify<br />
multicast forwarding using PIM; Implement IPv6 in an enterprise network; Implement <strong>and</strong> verify EIGRP<br />
operations; Build a scalable multi-area network with OSPF; Implement route optimization; Implement <strong>and</strong><br />
verify BGP for enterprise ISP connectivity; Implement <strong>and</strong> verify IS-IS.<br />
b) CCNP2: Implementing Secured Converged Wide-Area Networks<br />
During the Cisco® Networking Academy course, administered by the undersigned instructor, the student<br />
was able to Pr<strong>of</strong>iciently: Implement basic teleworker services; Implement Frame-Mode MPLS; Implement<br />
a site-to-site IPSec VPN; Describe network security strategies; Implement Cisco Device Hardening;<br />
Implement Cisco IOS firewall; Describe <strong>and</strong> configure Cisco IOS IP.<br />
c) CCNP3: Building Multilayer Switched Networks<br />
During the Cisco® Networking Academy course, administered by the undersigned instructor, the student<br />
was able to pr<strong>of</strong>iciently: Implement VLANs; Conduct the operation <strong>of</strong> Spanning Tree protocols in a<br />
hierarchical network; Implement Inter-VLAN routing; Implement gateway redundancy technologies;<br />
Describe <strong>and</strong> configure wireless client access; Describe <strong>and</strong> configure security features in a switched<br />
network; Configure support for voice.<br />
d) CCNP4: Optimizing Converged Networks<br />
During the Cisco® Networking Academy course, administered by the undersigned instructor, the student<br />
was able to pr<strong>of</strong>iciently: Describe Cisco VoIP implementations; Describe QOS considerations; Describe<br />
DiffServ QOS implementations; Implement Auto QOS; Implement WLAN security <strong>and</strong> management.<br />
Minimum Admission Requirements:<br />
To be admitted for a course leading to the award <strong>of</strong> CCNP Certificate, a c<strong>and</strong>idate must have completed CCNA <strong>and</strong><br />
thus possesses CCNA certificate.<br />
C. Information Technology (IT) - Essentials I & II<br />
This course introduces students to information technology <strong>and</strong> data communications. This h<strong>and</strong>s-on, lab-oriented<br />
course stresses laboratory safety <strong>and</strong> working effectively in a group environment.<br />
133
a) IT Essentials I: PC Hardware <strong>and</strong> S<strong>of</strong>tware Competencies<br />
This presents an in-depth exposure to computer hardware <strong>and</strong> operating systems. Students learn the functionality <strong>of</strong><br />
hardware <strong>and</strong> s<strong>of</strong>tware components as well as suggested best practices in maintenance, <strong>and</strong> safety issues. Through<br />
h<strong>and</strong>s on activities <strong>and</strong> labs, students learn how to assemble <strong>and</strong> configure a computer, install operating systems <strong>and</strong><br />
s<strong>of</strong>tware, <strong>and</strong> troubleshoot hardware <strong>and</strong> s<strong>of</strong>tware problems. In addition, an introduction to networking is included.<br />
Acquired competencies:<br />
• Building a computer <strong>and</strong> installation <strong>of</strong> the motherboard, floppy <strong>and</strong> hard drives, CDROM, <strong>and</strong> video cards.<br />
• Installing <strong>and</strong> managing Windows operating systems. * Adding peripherals <strong>and</strong> multimedia capabilities.<br />
• Knowledge <strong>of</strong> local-area network architecture, networking protocols <strong>and</strong> the OSI Model, <strong>and</strong> TCP/IP utilities.<br />
• Connecting the computer to a local area network <strong>and</strong> to the Internet.<br />
• In addition to basic networking concepts, the functions <strong>and</strong> configurations <strong>of</strong> a network are also covered.<br />
b) IT Essentials II: Network Operating Systems<br />
This h<strong>and</strong>s-on, lab-oriented course is designed to be an overview <strong>of</strong> network operating systems <strong>and</strong> specifically covers<br />
the Linux Red Hat Network operating system. Students will learn how to use the Linux operating system, the K<br />
Desktop Environment (KDE), <strong>and</strong> GNU Network Object Model (GNOME). This course will be a stepping stone to<br />
help prepare students for challenging careers, such as skilled hardware support pr<strong>of</strong>essional <strong>and</strong> Linux support<br />
pr<strong>of</strong>essional.<br />
Acquired competencies:<br />
• Configuration <strong>of</strong> network services, including basic network security <strong>and</strong> troubleshooting.<br />
• Use fundamental comm<strong>and</strong>-line features <strong>of</strong> the Linux environment including file system navigation,<br />
file permissions, the vi text editor, comm<strong>and</strong> shells, <strong>and</strong> basic network use.<br />
• Explore GUI features including Applications Manager, Text Editor, printing, <strong>and</strong> mail. * Know basic<br />
administrative tasks with Windows 2000.<br />
Minimum Admission Requirements:<br />
To be admitted for a course leading to the award <strong>of</strong> Certificate in IT Essentials, a c<strong>and</strong>idate must have basic knowledge<br />
about the computer or she/he must have completed CCA.<br />
10.10 Computer Systems Engineering<br />
C<strong>and</strong>idates will learn to design, implement <strong>and</strong> maintain computer systems. The modules covered include: Basic<br />
electronics; Digital Technology; Microprocessor Technology; Computer programming; embedded systems; Digital<br />
systems design; Advanced Computer Maintenance. In each module the students conduct experiments <strong>and</strong> part <strong>of</strong> the<br />
requirements to complete the course the students work on a relevant industry challenge as their project<br />
11 Summary <strong>of</strong> the Duration/Time <strong>of</strong> Study/Training Fees for Short Courses<br />
Course Time <strong>of</strong> Study Duration/Fees<br />
Certificate in Computer Applications Early Morning<br />
5weeks<br />
[CCA]<br />
6:00 AM - 8:00 AM<br />
80,000/=<br />
Regular Classes<br />
5weeks<br />
09:00–11:00,<br />
14:00 – 16:00 &<br />
19:00 – 21:00<br />
100,000/=<br />
Midnight Class<br />
5weeks<br />
00:00 – 06:00<br />
[60,000/=]<br />
Weekend Class<br />
5weeks<br />
09:00 -11:00 (Sat)<br />
14:00 - 16:00 (Sun)<br />
100,000/=<br />
134
International Computer Driving License<br />
(ICDL]<br />
Tuesdays to Thursdays<br />
17:00 - 19:00<br />
Cisco Certified Network Associate Early Morning classes<br />
[CCNA]<br />
06:00 -08:00<br />
Regular classes<br />
10:00 - 12:00<br />
14:00 - 16:00 &<br />
18:00 – 20:00<br />
Midnight Class<br />
00:00 - 06:00<br />
Weekend Class<br />
11:00 - 14:00 (Sat)<br />
09:00 – 16:00 (Sun)<br />
Cisco Certified Network Pr<strong>of</strong>essional Evening<br />
[CCNP]<br />
18:00 – 21:00<br />
IT Essentials I & II Week days<br />
14:00 – 17:00<br />
18:00 - 21:00<br />
Micros<strong>of</strong>t Pr<strong>of</strong>essional Certification Week days<br />
Courses (MCSE, MCDBA, MCSA, 18:00 - 21:00<br />
MCSD & MOUS)<br />
Weekend<br />
Oracle Certified Associate (OCA) Weekend class<br />
09:00 – 13:00(Sat)<br />
Video Editing <strong>and</strong> Animation Mon & Wed or Tue & Thursday<br />
16:00-18:00<br />
Graphics & Image Editing Mon & Wed or Tue & Thursday<br />
11:00-13:00<br />
Dynamic Website Development Tue & Thursday<br />
13:30 - 15:30<br />
or Sat & Sun<br />
12:00 - 14:00<br />
Geographical Information Systems Mon & Wed<br />
14:00-18:00<br />
Computer Systems Engineering Mon, Wed & Fri<br />
14:00 – 18:00<br />
Oracle Associate Pr<strong>of</strong>essional (OCP) (Proposed)<br />
NB: Special Offer for Ladies is ONLY on CCNA at 300,000/= anytime <strong>of</strong> study<br />
12 Intake for Short Courses<br />
135<br />
7weeks<br />
Training [140,000/=]<br />
Certification Testing [140,000/=]<br />
4months<br />
[370,000/=]<br />
6months<br />
[450,000/=]<br />
4months<br />
[280,000]<br />
6months<br />
[450,000/=]<br />
8months<br />
[555,000/=]<br />
3 months<br />
[370,000/=]<br />
5weeks per module<br />
At [370,000/=]<br />
Certification Testing<br />
[250,000 per exam]<br />
14weeks<br />
[555,000/=]<br />
Certification testing (270,000/=)<br />
3 Months<br />
(400,000/=)<br />
3 Months<br />
(400,000/=)<br />
3 Months<br />
(400,000/=)<br />
4 weeks<br />
[250,000/=]<br />
10 Weeks<br />
[500,000/=]<br />
Course Intake period Award<br />
Cisco Certified Network Associate<br />
(CCNA) Programme<br />
Every after 2month. International Certificate<br />
Cisco Certified Network At the Beginning <strong>of</strong> every Month International Certificate<br />
Pr<strong>of</strong>essional (CCNP) Programme<br />
Certificate in Computer<br />
At the Beginning <strong>of</strong> every Month Makerere University - CIT<br />
Applications (CCA)<br />
Certificate<br />
Oracle programme Every after 4months (3 times a year) International Certificate<br />
Micros<strong>of</strong>t Certification Every Month International Certificate<br />
International Computer Driving<br />
License (ICDL)<br />
Every after 2months International Certificate
EUTP Every after 17 weeks Makerere University - CIT<br />
Certificate<br />
Multimedia Certification Courses Every after 2 Months Makerere University - CIT<br />
Certificate<br />
Computer Systems Engineering Every after 2 Months Makerere University – CIT<br />
Certificate<br />
13 Application Forms<br />
For application forms <strong>and</strong> more information about short courses, please visit the Faculty Front Office, level 1, our<br />
website: www.cit.ac.ug/psd/, call us on +256 414 540628 or write to info@cit.mak.ac.ug.<br />
14 Registration Procedure<br />
Pay the tuition fee at any <strong>of</strong> the DFCU Bank branches, Account No: 0IL2550588800 for UGX only <strong>and</strong> Account<br />
Name: Makerere University Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> IT for all accounts, using the deposit slips at the bank. Present<br />
the deposit slip to the Front Office Administrators <strong>of</strong> the Faculty <strong>of</strong> <strong>Computing</strong> <strong>and</strong> <strong>Informatics</strong> Technology for<br />
registration. Tuition fees for applicants with forged academic documents will not be refunded.<br />
136
137