CS-All Course Outlines
CS-All Course Outlines
Course Description
Introduction: an overview of computer science, benefits and disadvantages
of solving
problems using computers, history of computing; data processing: data
versus information, information processing, file processing, quality of
information, database processing; functions and components of a computer
system: computer hardware (memory unit, Central Processing Unit, system
unit, I/O and storage devices), computer software (system software,
operating systems, programming languages, application software features
and trends); digital arithmetic: number system, decimal, binary, octal,
hexadecimal, BCD, fixed and floating-point representation, complements
(1‟s and 2‟s), ASCII code, applications of computers: office automation,
computers at home, in entertainment, in education and training, in science,
medicine and engineering; computer networks and communications with
description of modern networking technologies.
Course Content
Chapter 1 - Overview of Computer Science
1.1 Introduction to Information and Communication Technology
1.2 Definition of Computer and Computer Science
1.3 Characteristics of computers (speed, accuracy, capacity, versatility,
durability
and reliability)
1.4 Types of Computers (Analog, digital, special purpose, general purpose;
super computers, mainframe computers, minicomputers, microcomputers -
desktop, laptop or notebook, PDA or palmtop, handheld)
1.5 Applications of computers (learning aid, entertainment, commercial and
business applications, information utility, engineering and research
applications, public service)
Chapter 2 - Development of Computers
2.1 History of computing
(Abacus, Pascal‟s Calculator, The difference engine and the analytical
engine, Herman Hollerith‟s tabulating machine, Mark I, ENIAC, The Von
Neumann Machine, commercial computers)
2.2 Generations of computers (first, second, third, and fourth generations;
current
trends)
Chapter 3 - Organization of a computer system
3.1 Introduction to Computer Systems
3.2 Computer hardware
(The Central Processing Unit, Purposes of the Central Processing Unit,
Control Unit, Arithmetic and Logic Unit, RAM and ROM, The bus system
(address bus, data bus, and control bus), input units (pointing devices, game
controllers, keyboard, scanner, camera, microphone), output units (monitor,
printer, speaker), Storage units, Sequential access media (tape), random
access media (magnetic disk, optical storage media, flash memory)
3.3 Computer software
(System software, operating systems, what is an operating system?,
functions of an operating system (controlling operations, input/output
management, command processing), types of operating systems
(single/multi tasking, single/multi user, real-time, command driven vs GUI-
based), Example operating systems (Windows, UNIX, Solaris, MacOS);
Language software, translators (assemblers, compilers, interpreters), and
editors; applications software, word processing, spreadsheet, database
management systems, graphics, software suites, enterprise application
software
Chapter 4 - Data representation in computers
4.1 Units of data representation: Bit, Byte, Word
4.2 Concept of number systems and binary arithmetic (binary, octal,
hexadecimal,
conversion from one number system to another, binary arithmetic)
4.3 Coding Methods (EBCDIC; ASCII; Unicode)
4.4 Representation of negative numbers and arithmetic (signed magnitude,
one‟s complement, two‟s complement)
4.5 Floating-point representation
Chapter 5 - Computer System architecture
5.1 Hierarchical structure of computer system architecture
5.2 Logic elements and Boolean algebra
5.3 Implementation of Boolean algebra: Boolean functions and truth tables,
Construction of logic circuits
5.4 Types of circuits: combinational and sequential circuits
Chapter 6 - Computer networks and communications
6.1 Introduction to computer networking and its applications
6.2 Types of networks: LANs and WANs
6.3 Introduction to the Internet (services of the Internet - e-mail, World
Wide Web,
file transfer/access, remote login/ execution, video conferencing)
Chapter 7 - Computer Security
7.1 Introduction to computer security, encryption, backup, viruses and
worms
Teaching Methods
-Lecture, Lab, Demonstration
Method of Assessment
- Lab: 20%
- Continuous assessment 30%
- Teaching material
- ITL Education Solutions Ltd, Introduction to Computer Science, Pearson
Education, 2004.
References
- Clements, Alan: The Principle of Computer Hardware, Oxford University
Press, 1989
- Davis, Gordon B., Introduction to Computers, McGraw-Hill, 1977.
- Dida Midekso, Introduction to Computer Science, Ethiopia, AAU, 1994
CSC 131 –Fundamentals of Programming I
Credit Hours: 4
Lecture Hours: 3
Laboratory Hours: 2
Prerequisites: None
Course Objectives
On completion of this course, students will be able to:
grasp the main idea and concepts of programming,
understand the software development process and tools such as
editors and compilers,
understand the syntax and semantics of programming languages,
understand the major building blocks of computer programs,
know the basic skills of programming and solve problems using
computers,
know the major programming techniques and implement them using
the C++
programming language, and
know, understand and implement the basic concepts and tools in C+
+.
Course Description
Teaching materials
- Dietel &Dietel, “C How To Program”, Third Edition, Prentice-Hall, 2003
- Robert Lafore, “The Waite Group‟s C Programming Using Turbo C++”,
Techmedia,
1993
References
- Walter Savitch, “Problem solving with C++ – The Object of Programming”,
Menlo
Park:Addison-Wesley, 1996
- John R. Hubrard, “Fundamentals of Computing with C++”, Shuam‟s
Outline, 1997
- Jess Liberty, “An Introduction to C++”, 1995
- Robert Lafore, “The Wait Group Object Oriented Programming With C++”,
1994
CSC 132: Fundamentals of Programming II.
Credit Hours: 4.
Lecture Hours: 3.
Laboratory Hours: 2.
Prerequisites: CSC 131.
Course Objectives
On completion of this course, students should be able to:
understand concepts of modular programming,
design and write modular programs,
describe and implement advanced data structure elements that serve as
holding
homogenous data primitives, and
know file manipulation, i.e., I/O operations of files.
Course Description
Structures; modular programming (functions, arguments, passing
arguments by value and by reference, life time of variables), recursion, file
management (text and binary files, file manipulation, file accessing modes).
Course Content
Chapter 1 - Functions
1.1 Introduction to Modular Programming (Functions); Declaration of
functions;
Definition of functions
1.2 Calling function Scope of Variables
1.3 Function Arguments; Return Values
1.4 Default Parameters; Parameters passing; Call by value; Call by
reference
1.5 Recursive functions
Chapter 2 - Structures
2.1 Overview of Structure; declaring structures
2.2 Defining structure in structure.
2.3 Initializing structure; manipulating structure.
2.4 Array of structure.
2.5 Nested structure.
2.6 Structure, Reference and Pointer.
2.7 Passing structure to function.
2.8 Passing value of structure to a function.
2.9 Passing address of a structure to a function.
Chapter 3 - File Management
3.1 Streams and Files.
3.2 Text and Binary Files.
3.3 Text File processing.
3.4 Binary File processing.
3.5 Random Access Files.
Teaching Methods
- Lecture, Lab, Project Work
Method of Assessment
- Lab: 20%
- Project work: 50%
- Final exam: 30%
Teaching materials
- Dietel&Dietel, “C How To Program”, Third Edition, Prentice-Hall, 2003.
- Robert Lafore, “The Waite Group‟s C Programming Using Turbo C++”,
Techmedia,
1993.
References
- Walter Savitch, “Problem solving with C++ – The Object of Programming”,
Menlo
Park:Addison-Wesley, 1996.
- John R. Hubrard, “Fundamentals of Computing with C++”, Shuam‟s
Outline, 1997.
- Jess Liberty, “An Introduction to C++”, 1995.
- Robert Lafore, “The Wait Group Object Oriented Programming With C++”,
1994.
Lecture Hours: 3
Laboratory Hours: 0
Prerequisites: CSC 131
Course Objectives
identify and understand the various building blocks from which a modern
computer is constructed, and
Course Description
Course Content
5.5 Decoders
5.6 Multiplexers
6.4 Clustering
Teaching Methods
- Lecture, Demonstration
Method of Assessment
Teaching material
Credit Hours: 3
Lecture Hours: 2
Laboratory Hours: 2
Course Objectives
Course Content
Chapter 1 - Introduction
1.1 Overview
1.2 Basics of Databases
1.3 File organization verses Database approach
1.4 Users and actors of Database Systems
Chapter 2 - Database System Architecture
2.1 Data models, Schemas, and Instances
2.2 Overview of data models
2.3 DBMS Architecture and Data Independence
Chapter 3 - The ER Model
3.1 The high-level conceptual model
3.2 Entities, Attributes, and Keys
3.3 Relationships, Associations, and Constraints
3.4 The ER Diagrams
3.5 Mapping ER-models to relational tables
Chapter 4 - Functional Dependency and Normalization
4.1 Functional Dependency
4.2 Normal Forms
Chapter 5 - The SQL Language
5.1 Data Definition Language
5.2 Data Manipulation Language
5.3 Basic Queries in SQL
5.4 Views
Chapter 6 - The Relational Data Model and the Relational Algebra
6.1 The Relational Model Concepts
6.2 The Relational Constraints and Relational Database Schemas
6.3 The Relational Operations
Chapter 7 - Data Protection
7.1 Data recovery
7.2 Concurrency
7.3 Data Security
Teaching Methods
- Lecture, Lab, Project Work
Method of Assessment
-
Lab: 20%
-
Project work: 50%
-
Final exam: 30%
Teaching material
- R. Elmasri and S. B. Navathe: Fundamentals of Database Systems, 4th
edition,
Addison-Wesley.
References
- C. J. Date: An Introduction to Database Systems, Addison-Wesley, 8th
edition, 2003.
- A. Silberschatz, H. F. Korth, and S. Sudarshan: Database System
Concepts, McGraw
Hill, 5th edition, 2005.
Credit Hours: 4
Lecture Hours: 3
Laboratory Hours: 2
Course Objectives
Course Description
3.2 If statement
5.2 Encapsulation
5.3 Polymorphism
Teaching Methods
- Lecture, Lab
Method of Assessment
- Lab: 20%
Teaching material
- Herbert Schildt: Java 2 A Beginner‟s Guide, Second Edition, Tata McGraw-Hill, 2003.
References
- H. M. Deitel and P. J. Deitel: Java, How to Program, 8th Edition, New Delhi, 2010.
- P. Naughton and H. Schildt: Java 2: The Complete Reference, 3rd edition, Osborne
Publishing, 1999.
- T. Budd: Understanding Object Oriented Programming with Java, Addison-Wesley,
2000.
CSC 239: Rapid Application Development
Credit Hours: 4
Lecture Hours: 2
Laboratory Hours: 2
Course Objectives
Course Description
Course Content
7.5 Sub-procedures
Teaching Methods
Method of Assessment
- Lab: 20%
- Project: 20%
Teaching material
- Steven Holzner: Visual Basic .Net Programming Black Book, Dream Tech
Press.
References
- Serguson Patterson Beres, Boutquin, Gupta: C# Programming Bible,
Wiley-Dreamtech
India Pvt Ltd.
Credit Hours: 3
Lecture Hours: 2
Laboratory Hours: 2
Course Objectives
write and use functions, and understand how function calls are carried
out, including passing parameters.
Course Description
Course Content
Chapter 3 – Procedures
6.3 Recursion
Teaching Methods
- Lecture, Lab
Method of Assessment
- Lab: 20%
Teaching material
Credit Hours: 3
Lecture Hours: 3
Laboratory Hours: 0
Course Objectives
Course Description
Course Content
1.1 Overview
1.8 Polymorphism
4.1 Overview
5.1 Introduction
7.1 Introduction
Teaching Methods
Method of Assessment
Teaching material
Credit Hours: 3
Lecture Hours: 2
Laboratory Hours: 2
Course Objectives
At the end of the course, students will
Course Description
Course Content
3.2 Modulation (digital data, analog signal; digital data, digital signal;
analog data,
4.2 Flow Control (Stop and wait, Sliding windows - Go back N, Selective
repeat;
ARQ)
6.3 Routers
6.4 Gateways
Chapter 7 –WANs
Teaching Methods
- Lecture, Lab
Method of Assessment
- Lab: 20%
Teaching material
Credit Hours: 4
Lecture Hours: 3
Laboratory Hours: 2
Course Objectives
At the end of the course, students will
1.1 Introduction
1.5 URL
1.6 HTTP Header
2.2 Hyper-Links
3.2 Usability, Accessibility, Good and Bad web sites, Pitfalls, Ethics
5.2 The Common Gateway Interface (CGI)5.3 Server Side Scripting with
PHP
5.4 Session Control
6.1 PHP/MySQL
Teaching Methods
- Lecture, Lab
Method of Assessment
Teaching materials
References
- Douglas E.Comer: Internet Book – Everything you need to know
about Computer
Networking, Prentice Hall of India.
Credit Hours: 4
Lecture Hours: 3
Laboratory Hours: 2
Course Objectives
Course Description
Course Content
Chapter 1 - Introduction to AI
1.3 History of AI
2.1 Introduction
2.3 State and state space (types of search problems, State space search and
examples, State space representation, Performing state space search)
Chapter 4 – Planning
4.1 Introduction
5.1 Uncertainty
5.2 Probability
6.1 Introduction
7.1 Introduction
Teaching Methods
- Lecture, Lab
Method of Assessment
- Lab: 20%
Teaching material
References
- S. Russell and P. Norvig: Artificial Intelligence: A Modern Approach, 2nd edition,
Prentice Hall, 2002.
Teaching material
- Bigelow‟s: Troubleshooting, Maintenance and Repairing PCs, 5th Edition
References
- Mark Minasi: Upgrade and Maintenance Guide
- PC Upgrading and Maintenance, Smart Computing, Second Edition