0% found this document useful (0 votes)
332 views60 pages

Description of Courses-ICT PDF

Uploaded by

Zerihun Bekele
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
332 views60 pages

Description of Courses-ICT PDF

Uploaded by

Zerihun Bekele
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Description of Courses

1. Name of the course: Advanced Computer Maintenance


Course code: ICT125 Cr.hr. 2 (Lec. 1 ; Lab. 3 ; Tut. 0)
Prerequisite (s): None

Course Description

This course is aimed to give students the basic skills, knowledge and attitude to
troubleshoot computer software and hardware. In addition to that it is also aimed to give
the basic skill of maintenance to associated peripherals of computer and mobile
devices.

Objectives of the Course


At the end of the course, students will be able to:
 Identify the components of standard desktop personal computers.
 Identify fundamental components and functions of personal computer operating systems.
 Identify best practices followed by professional personal computer technicians.
 Install and configure computer components.
 Install and configure system components.
 Maintain and troubleshoot peripheral components.
 Troubleshoot system components.
 Install and configure operating systems.
 Maintain and troubleshoot installations of Microsoft Windows.
 Identify network technologies.
 Support laptops and portable computing devices.
 Support printers and scanners.
 Identify personal computer security concepts.
 Support personal computer security.

Detailed Contents of the Course


Chapter 1 - PC Technician Professional Best Practices
1.1. Tools of the Trade
1.2. Electrical Safety
1.3. Environmental Safety and Materials Handling
1.4. Perform Preventative Maintenance
1.5. Diagnostics and Troubleshooting
1.6. Professionalism and Communication
Chapter Two – Software troubleshooting and Operating System Fundamentals
2.1. Software maintenance
2.2. Personal Computer Operating Systems
2.3. Windows User Interface Components
2.4. Windows File System Management
2.5. Windows System Management Tools
2.6. Install Microsoft Windows
2.7. Upgrade Windows
2.8. Add Devices to Windows
2.9. Optimize Windows
Chapter Three – Computer Hardware and peripherals troubleshooting
3.1. Install, Configure and maintaining different hardware devices
3.2. Installing, configuring and maintaining peripheral devices
3.3. Supporting printers and scanners
3.4. Installing, configuring and maintaining printers
Chapter Four - Supporting Laptops and Portable Computing Devices
4.1. Installing, configuring and maintaining Laptops and portable devices software and
hardware.
4.2. Installing, configuring and maintaining mobile devices
Main Projects/Activities of the Course
 Software troubleshooting
 Hardware troubleshooting
 Mobile devices troubleshooting(laptops and smart phones)
Main Topics Demanding Cooperative Training
Pedagogical Aspects of the Course
 Lecture
 Practical demonstration
 Discussion
Major References /Textbooks of the Course
 A+ Certification (2016): K.
 WWW.BrainBuzz.com
Major Materials /Equipment needed for the Course
 Computers equipped with associated software
 Wrist strap, Mobile devices (laptop cellphone), Printer

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
2. Name of the course: Network Fundamentals
Course code: ICT123 Cr.hr. 3 (Lec. 2; Lab. 3; Tut. 0)
Prerequisite (s):None

Course Description
Networking Fundamentals teaches the basic concepts and terminology of networking. The text
covers media types and standards and how data is encoded and transmitted. Students are also
introduced to the terminology and basic concepts of each network operating system. It focus on
protocols, local-area networks (LANs), wide-area networks (WANs), Open System
Interconnection (OSI) models, cabling and cabling tools, Ethernet, Internet Protocol (IP)
addressing, and network standards, with an emphasis on Ethernet, one of the most widely
accepted and implemented networking standards.

Objectives of the Course


At the end of the course, students will be able to:

 Understand and describe the devices and services used to support communications in data
networks and the Internet
 Understand and describe the role of protocol layers in data networks
 Understand and describe the importance of addressing and naming schemes at various
layers of data networks in IPv4 and IPv6 environments
 Design, calculate, and apply subnet masks and addresses to fulfill given requirements in
IPv4 and IPv6 networks
 Explain fundamental Ethernet concepts such as media, services, and operations
 Build a simple Ethernet network using routers and switches
 Use command-line interface (CLI) commands to perform basic router and switch
configurations Utilize common network utilities to verify small network operations and
analyze data traffic

Detailed Contents of the Course

Chapter 1: Introduction to Data Communication


1.1. Introduction
1.2. Data communication system
1.3. Data communication links
1.4. Serial data formats
1.5. Encoded data formats
1.6. Transmission Media
Chapter 2: Introduction to Computer Networks

2.1 Computer Network and its Applications


2.2 Computer Network Types
2.3 Computer Network Topologies

Chapter 3: Data Communication and Transmission Medias

3.1. Guided Media Types


3.2. Unguided Media Types
Chapter 4: The OSI and the TCP/IP Communication Models

4.1 Communication and Layer Architecture


4.2 Open System Interconnection (OSI) Model
4.3 The Seven Layers of an OSI Model
4.4 The TCP/IP Model

Chapter 5: LAN Technologies

5.1 LAN hardware devices


5.2 LAN Technology Options
Chapter 6: Internet Protocol (IP) and IP Addressing

6.1 IP as a Routed Protocol


6.2 Packet Propagation
6.3 IP Addressing Scheme
6.3.1 Class A, Class B and Class C
6.4 Subnet Mask
6.5 Address Resolution Protocol (ARP)
6.6 Reverse Address Resolution Protocol (RARP)
6.7 Internet Control Message Protocol (ICMP)
6.8 Internet Group Message Protocol (IGMP)

Chapter 7: Computer Network Security Basics


7.1 The importance of Network Security
7.2 Techniques of Network Security
7.3 Encryption and Decryption Techniques
7.4 Access Control and Firewalls

Main Projects/Activities of the Course


 Design and implement structured cabling
 Basic device configuration with simulator tools
 LAN implementation and network resource sharing

Main Topics Demanding Cooperative Training


 Observe industry network implementations

Pedagogical Aspects of the Course


 Lecture
 Lab
 project
Major References /Textbooks of the Course

 Networking guide to TCP/IP 3rd ed by Chappell, Laura A


 Guide to networking essentials 5th ed by Tomsho, Greg
 Network Troubleshooting Tools (O'Reilly System Administration) by Joseph D Sloan
 Sams Teach Yourself Network Troubleshooting in 24 Hours by Jonathan Feldman

Major Materials /Equipment needed for the Course


 Network tool kits per group
 RJ-45 connectors, UTP cable, patch panel, wall outlets, Switch and Access
device
 Simulator software,

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
3. Name of the course: Fundamentals of programming I
Course code: ICT121 Cr.hr. 3 (Lec. 2; Lab. 3; Tut. 0)
Prerequisite (s):None

Course Description
This course is designed to introduce students to problem solving techniques using computers.
Topics covered include: introduction to programming; definition, evolution of programming
languages (low and high level languages), algorithms and their representation (pseudo code,
flowchart); problem solving steps using computers; fundamental elements of C++: history of
C++, program structure, reserved words and identifiers, variables and constants, data types,
declarations, operators and expressions (arithmetic, logical, relational, bit-wise), syntax and
semantics; simple statements: assignment, null, block, input/output; flow of control:
branching/selection statements (if, switch), looping statements (while, do ... while, for), other
statements (break, continue, exit); arrays and strings.

Objectives of the Course


At the end of the course, students will be able to:

 Understand 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,
 know the basic skills of programming and solve problems using computers,
 know the major programming techniques and implement them using the C++
programming language
 Know, understand and implement the basic concepts and tools in C++.
 Write a programming project(s) integrating the concepts and principles learned in this
course.

Detailed Contents of the Course

Chapter 1: Introduction to Programming


1.1 Introduction to computer programming
1.2 Procedural, Structured and object oriented programming paradigms
1.3 Problem solving, algorithm designing, and modeling logic
1.4 Mechanics of creating a program and basics of C++ environment
1.5 History of C and C++
1.6 Software Development Life Cycle (SDLC); feasibility study; requirement
analysis; designing solution; testing designed solution;
implementation(coding); unit testing; integration and system testing;
maintenance; algorithm development and representation (structured chart,
pseudo code, flow chart)
Chapter 2: C++ Basics
2.1 Structure of C++ Program; Keywords, Identifiers, Inputs, Outputs, Comments, Parts
of a program; Data Types, Variables, and Constants
2.2 Operators; Assignment Operators; Compound Assignment Operators; Arithmetic
Operators; Relational Operators; Increment and Decrement Operators; Infix and
postfix types; Precedence of Operators
Chapter 3: Control Statements
3.1 If statements: If…else, nested if
3.2 Switch Statements: multiple cases, break, and default
3.3 Looping: for, while, do, break, and continue; nested loops
Chapter 4: Arrays and String Manipulation
4.1 Array Definition: one dimensional and multidimensional arrays
4.2 Strings: Definition, accessing strings
Chapter 5: Pointers
5.1 Address-of operator
5.2 Dereference operator
5.3 Declaration of pointers
5.4 Arrays and pointers
5.5 Pointer initialization
5.6 Pointers arithmetic, variable access, strings, pointer to pointers, invalid pointer and null
5.7 Pointers and pointer to function
5.8 Dynamic memory allocation and other concepts related with pointers

Main Projects/Activities of the Course


 String manipulation
 Calculator applications
 Programs with menu (option based) interfaces
 Programs that apply different control statements

Main Topics Demanding Cooperative Training


 None
Pedagogical Aspects of the Course
 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
 Walter Savitch: “Problem solving with C++ – The Object of Programming”, Menlo
Park:Addison-Wesley, 1996.
 Introduction to computer science using C++,Knowlton & Tood
 An Introduction to object-oriented programming with java, Wu, Thomas, 5th Ed. ,
2010

Major Materials /Equipment needed for the Course


 Computer Lab equipped with C++ compiler

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
4. Name of the course: Fundamentals of programming II
Course code: ICT122 Cr.hr. 3 (Lec. 2; Lab. 3; Tut. 0)
Prerequisite (s): Fundamentals of programming I (ICT 121)

Course Description
This course is a continuation of Fundamentals of Programming I. The course focuses on topics
which shall further enrich students' knowledge and skill in structured programming.
This course is designed to introduce students to problem solving techniques using computers.
Topics covered include: introduction to programming; focuses on the object-oriented
programming paradigm, emphasizing the definition and use of classes along with fundamentals
of object-oriented design. The course includes basic analysis of algorithms, searching and sorting
techniques, and an introduction to software engineering processes. Students will apply
techniques for testing and debugging software.

Objectives of the Course


At the end of the course, students will be able to:

 Describe and implement the concepts of modular programming (functions) in


solving problems.
 Describe and implement the concepts of Structures in solving problems.
 Describe how to manage files using C++.
 Have an understanding of the concept and application of iteration and recursion in
program development;
 Be able to uncover and reason about repetitive aspects of a computing problem,
and to develop appropriate recursive or iterative solutions;
 Understand the specification of a program and its implementation as separate, but
related design problems.
 Write basic c program

Detailed Contents of the Course

Chapter 1 - Function (Built in, User defined)


1.1 Introduction to Modular Programming (Functions)
1.2 Declaration of function
1.3 Definition of functions
1.4 Calling function Scope of Variables
1.5 Function Arguments
1.6 Return Values
1.7 Default Parameters
1.8 Parameters passing
1.8.1 Call by value

1.8.2 Call by reference

1.9 Function Overloading


1.9 Recursive function
1.10 Inline function

Chapter 2 Structures
2.1 Introduction
2.2. Overview of Structure
2.2.1 Declaring structure
2.2.2 Defining structure in structure
2.2.3 Initializing structure
2.2.4 Manipulating structure
2.3.Array of structure
2.4.Nested structure
2.5.Structure, Reference and Pointer
2.6.Passing structure to function
2.6.1 Passing value of structure to a function
2.6.2 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
3.6 Buffers and Synchronization
Chapter 4: Introduction to C Programming
4.1 Basics of C Programming
4.2 Control Statements
4.3 Strings, Arrays, and Pointers

Main Projects/Activities of the Course


 Apply basics of Array, Pointer and basic elements of C++
 Programs that apply file I/O Operations, searching, sorting, Function, Classes and
the basic concepts of Objects
 Students record management system development using C++ programming

Main Topics Demanding Cooperative Training


 None
Pedagogical Aspects of the Course
 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
 Walter Savitch, “Problem solving with C++ - The Object of programming”, Menlo
Park: Addison-Wesley, 1996.
 Dietel&Dietel, “C How To Program”, Third Edition, Prentice – Hall, 2003
 Robert Lafore, “The Waite Group’s programming Using Turbo C++” Techmedia,
1993
 John R. Hubrard, “Fundamentals of Computing with C++,” Shuam’s Outline, 1997
 Jess Liberry, “An Introduction to C++” 1995
 Robert Lafore, “The Wait Group Object Oriented programming With C++” 1994
Major Materials /Equipment needed for the Course
 Computer Lab equipped with C++ IDE

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 20%
o Test 1- 10%
o Test 2(Mid)- 15%
o Lab Test -15%
5. Name of the course: Fundamental of database systems
Course code: ICT124 Cr.hr. 3 (Lec. 2; Lab. 3; Tut. 0)
Prerequisite (s): None

Course Description
This course covers fundamentals of database architecture, database management
systems, and database systems. Principles and methodologies of database design, and
techniques for database application development. It covers data organization, query
processing and basic database concepts.

Objectives of the Course


At the end of the course, students will be able to:

 Have a good understanding of basic database terminologies


 Understand the process of conceptual database design
 Understand basic concepts in logical database design
 Translate ERD to relations and then relations to tables
 Understand basic concepts of physical database design
 Apply SQL statements to create a database
 Use SQL statements to create, modify and delete database structures
 Insert data in to a table and/or delete data from table
 Understand the different types of joints and some other related concepts

Detailed Contents of the Course

Chapter 1: Introduction to Database System


1.1 Basic database concepts, terminology, and architecture
1.2 Types of database management systems.
Chapter 2: Understanding Business Rules and Objectives

2.1 Logical, and Conceptual Model


2.2 ER Model
2.3 The Relational Model and SQL
2.4 Relationship, Keys
2.4.1. Conceptual vs. physical modelling
2.4.2. Entity types, attributes, keys, roles
2.4.3. Weak types, ER diagrams
Chapter 3: Logical database design
3.1 Introduction to normalization
3.2 Minimal covers
3.3 Relational decompositions.
3.3.1 De-normalization
3.3.2 Concept of de-normalization

Chapter 4: Physical database design


4.1 MAP ER to tables
4.2 Translate Logical Design
Chapter 5: SQL statements
5.1 Data definition language (DDL),
5.2 Data manipulation language (DML),
5.3 Data Control Language (DCL),
5.4 Transaction Control Statement (TCS),
5.5 Session Control Statements (SCS).

Main Projects/Activities of the Course


o Apply basics of database concepts mentioned above
o Do ER diagram for the given scenario
o Map tables based on the given ER diagram and do normalization and de-
normalization based on the tables they map
o Design physical database then create database and tables using SQL
statement
o Apply all types of SQL statements
o Design and develop a database system for once organization

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Cours
 Ramez Elmasri, Shamkant B. Navathe, Fundamentals of Database System, 6th Edition,
University of Texas at Arlington.
 Database Design for Mere Mortals™, Second Edition
 Craig Mullins, Database Administration: The Complete Guide to Practices and
Procedures, 2008

Major Materials /Equipment needed for the Course


 Computer Lab equipped with DBMS Software
Evaluation Mechanism of the Course
 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 20%
o Test 1- 10%
o Test 2(Mid)- 15%
o Lab Test -15%
6. Name of the course: Internet and web design
Course code: ICT126 Cr.hr. 3 (Lec. 2; Lab. 3; Tut. 0)
Prerequisite (s): None

Course Description
This course provides an overview of the concepts and skills necessary to design and publish a
web site. It will cover how to use HTML and CSS to develop web site content. It also provides an
overview of the role of languages such as DHTML, XHTML, XML, and JavaScript in web site
implementation. It also introduces the user to advanced web techniques such as developing for
mobile devices, client and server scripting, and how to manage and connect to databases. This
course is part of a series in the designing, developing, and hosting a web site path. This course
also introduces World Wide Web standard markup language and services of the Internet. Topics
include creating web pages, search engines, FTP, and other related topics. Topics include the
creation of web sites and applets using web development software.

Objectives of the Course


At the end of the course, students will be able to:

 Know about how websites can be developed using HTML, JavaScript, CSS and others
 Explains the process used to create a website that embodies how emerging technologies will
empower society to do more with the Internet.
 Determine core Internet technologies, Web page design and authoring.
 Know how to host websites on the web

Detailed Contents of the Course

Chapter 1: How the Internet Works

1.1 The Web Environment


1.2 Working with Browsers
1.3 Understanding Web Page Designs
1.4 Working with Web Tools
1.5 Search Engine Optimization
1.6 Planning a Web Site
1.7 Semantics on the web

Chapter 2: Determining Your Approach

2.1 Displaying Web Pages


2.2 Identifying Pages with a Purpose
2.3 Including Web Page Elements
2.4 Using Web Page Templates
2.5 Understanding Design Features

Chapter 3: Introducing HTML

3.1 Creating a Basic Web Page


3.2 Attributes, Lists and Tables
3.3 Links and Images

Chapter 4: Cascading Style Sheets Introduction

4.1 CSS - Selector Type, Values, Common Properties


4.2 Directory Structure, Some Common Tags
4.3 Web Page Layout Techniques
4.4 CSS Improvement - Typography, Imagery

Chapter 5: JavaScript Introduction

5.1 Variable, If-Else, Switch


5.2 Operators, Popups, Functions, Loops
5.3 Forms, Events, and Event Handling
5.4 Try-Catch, Some Guidelines of JavaScript
5.5 Programming
5.6 Introduction to JavaScript Object
5.7 JS Built-in Objects

Main Projects/Activities of the Course


 Analyze basic structure of HTML, CSS, JavaScript and JS
 Design and develop a website for once organization

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
• Greenlaw R and Hepp E “Fundamentals of Internet and www” 2nd EL, Tata
McGrawHill,2007.
• Ivan Bayross, “HTML, DHTML, JavaScript, Perl CGI”, 3rd Edition, BPB Publications.
• D. Comer, “The Internet Book”, Pearson Education, 2009.
Major Materials /Equipment needed for the Course
 Computer Lab equipped with browser Softwares

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 20%
o Test 1- 10%
o Test 2(Mid)- 15%
o Lab Test -15%
7. Name of the course: Multimedia system and Development
Course code: ICT128 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): None

Course Description
The course provides an introduction to multimedia systems, with particular emphasis on
technical issues in multimedia compression, and multimedia information systems. Topics
include: requirements in multimedia systems and data storage; image compression, video
compression and audio compression; file formats and multimedia tools; photo editing,
graphics design, video editing, using still device and creating simple animation.

Objectives of the Course


At the end of the course, students will be able to:
 Define and understand different multimedia files, tools and devices
 Select and prepare camera equipment and materials
 Operate camera
 Identify multimedia elements
 Identify scope of authoring software
 Use authoring software
 Edit multimedia files
 Design and use simple animation
 Design a project that can include animation or graphics content like, billboard
graphics, business card, animation for advertisement, animation for education and
others

Detailed Contents of the Course


Chapter 1: Introduction to multimedia

1.1 What is Multimedia, Category, Applications


1.2 Different file types
1.3 File compression
1.4 Multimedia tools and devices
Chapter 2: Installing and using basic multimedia devices
2.1 Getting to know the Camera
2.2 Camera Menus
2.3 Basic Photography and Playback
2.4 Creative Photography
2.5 Recording and viewing movies
2.6 Different modes

Chapter 3: Editing multimedia (Adobe Photoshop, Corel Draw and Adobe Premiere)

3.1 Adobe Photoshop terminologies, concepts, usage and functions.


3.2 Photo editing
3.3 Art style creation
3.4 Using Corel draw interface
3.5 Creating business cards
3.6 Creating scenery
3.7 Creating Web banners and buttons
3.8 Editing photos
3.9 Creating graphical objects
3.10 Creating a movie presentation
3.11 Movie editing
3.12 Adding Movie Effects

Chapter 4: Using basic animation tools (Micro-Flash)

4.1 Understanding Adobe flash studio

4.2 Develop simple 2D animation

Main Projects/Activities of the Course


 Editing photos
 Editing Videos
 2D animating

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture
 Practical demonstration
 discussion

Major References /Textbooks of the Course


 Wiring for Multimedia and Web(Timothy Garrand) 2nd edition
 The Basic Photo Book, Phil Davis, Brendan Murphy (2002), Dream Weaver Made
Simple
 Computer Graphics with OpenGL, Hearn & Baker, 3rd Ed., 2004
 Multimedia: Make it work, Vaughan, 7th Ed.,2008

Major Materials /Equipment needed for the Course


 Computers equipped with associated software

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
8. Name of the course: Computer Architecture and Organization
Course code: ICT221 Cr.hr. 3 (Lec. 3 ; Lab.0 ; Tut. 0)
Prerequisite (s): None

Course Description
This course introduces the principles of computer organization and the basic
architecture concepts. The course emphasizes performance and cost analysis,
instruction set design, pipelining, memory technology, memory hierarchy, virtual
memory management, direct memory access, and I/O systems.

Objectives of the Course


At the end of the course, students will be able to:

 Gain an understanding of the hardware structures that make computers possible.


 Know the different devices and components of a computer system (down to the
transistor level), know how these components interact and work together.
 Understand computer organization concepts and how they apply to systems
development.

Detailed Contents of the Course


Chapter 1: Introduction to the Microprocessors and Computers
1.1 A historical background
1.2 The microprocessor-based personal computer system
1.3 The Intel and Motorola microprocessors
1.4 Review of number systems
1.5 Review of computer data representation
Chapter 2: The Microprocessor and its Architecture
2.1 Internal microprocessor architecture – micro-architecture
2.2 Von Neumann architecture
2.3 Real mode memory addressing
2.4 Introduction to protected mode memory addressing
2.5 Execution and bus interface units
Chapter 3: Input Output Organization
3.1 Peripheral devices
3.2 Input output interface
3.3 Asynchronous data transfer
3.4 Modes of transfer
3.5 Priority interrupt
3.6 Direct memory access (DMA)
3.7 Input output processor (IOP)
3.8 Serial communication
Chapter 4: Memory Organization
4.1 Memory hierarchy
4.2 Main memory, Auxiliary memory, Associative memory, Cache memory,
Virtual memory
Chapter 5: Advanced Computer Architecture Concepts
5.1 CISC and RISC computers
5.2 Parallel processing
5.3 Symmetric multiprocessing
5.4 Clustering
Main Projects/Activities of the Course

Main Topics Demanding Cooperative Training


 None
Pedagogical Aspects of the Course
 Lecture
 Discussion
Major References /Textbooks of the Course
 Prof. K. Sirdhar Patnaik, Computer system architecture. BIT Mesra, Ranchi.

Major Materials /Equipment needed for the Course


 None

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Assignment – 15%
o Test 1- 15%
o Test 2- 10%
o Test 3(Mid)- 20%
9. Name of the course: Object-Oriented Programming
Course code: ICT223 Cr.hr.4 (Lec.3 ; Lab. 3 ; Tut. 0)
Prerequisite (s):ICT121, ICT122

Course Description
This course is designed as an entry level programming course for students who have
prior programming experience. To introduces the concepts of object-oriented
programming to students with a background in the procedural paradigm. The course
begins with a brief review of control structures and data types with emphasis on
structured data types and array processing. It then moves on to introduce the object-
oriented programming paradigm, focusing on the definition and use of classes along
with the fundamentals of object-oriented design. Other topics include an overview of
programming language principles, simple analysis of algorithms, basic searching and
sorting techniques, and an introduction to software engineering issues.

Objectives of the Course


At the end of the course, students will be able to:
 Apply basic language syntax and principles in OO programming language.
 Determine the debugging techniques for solving errors and inhibiting program
acceptance.
 Adhere to standards and guidelines of documentations.
 Justify the correctness of the program as well as its documentation as needed.
 Write a programming project(s) integrating the concepts and principles learned in
this course.

Detailed Contents of the Course


Chapter 1: Introduction to Object-Oriented Programming
1.1 Overview of OO principles
1.2 Overview of Java Programming (Editing, Compiling and Interpreting)
Chapter 2: Basics in Java Programming
2.1 Variable types and identifiers
2.2 Number types, strings, constants
2.3 Operators and operator precedence
2.4 Type Conversion/ Casting
Chapter 3: Decision and Repetition Statements
3.1 Overview of Java statements
3.2 If statement
3.3 Switch statement
3.4 For loop
3.5 While, Do while loop
Chapter 4: Objects and Classes
4.1 Object variables
4.2 Defining a class
4.3 Instantiating and using objects
4.4 Instance fields, Construction and methods
Chapter 5: OOP Concepts
5.1 Inheritance, method overloading and overriding
5.2 Encapsulation
5.3 Polymorphism
5.4 Abstract classes and Interfaces
Chapter 6: AWT and Swing
6.1 Components of AWT and Swing (Frame, Label, Button, TextField,
ComboBox; JFrame, JLabel, JButton, JTextField, JcomboBox)
6.2 Event handling (Sources, Listeners, Events)

Main Projects/Activities of the Course


 String manipulation
 Calculator applications
 Programs with menu (option based) interfaces
 Programs that apply different control statements

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
 C how to program: introducing C++ and java, Deitel, Harvey, 6th Ed. 2010
 Introduction to computer science using C++, Knowlton & Tood
 An Introduction to object-oriented programming with java, Wu, Thomas, 5th Ed. , 2010

Major Materials /Equipment needed for the Course

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
10. Name of the course: Introduction to Algorithm and Data Structure
Course code: ICT225 Cr.hr.3 (Lec.2; Lab.3 ; Tut. 0)
Prerequisite (s): ICT 121(Programming I), ICT122 (Programming II)

Course Description
This course focuses on the study of data structures, algorithms and program efficiency.
Topics include: introduction to algorithm analysis (qualitative, quantitative); complexity
of algorithms; measuring complexity (Big-O), time-space tradeoffs, complexity classes:
(P and NP); simple searching and sorting algorithms (linear and binary search, bubble
sort, insertion sort, selection sort); complexity of searching and sorting algorithms;
abstract data types (linked lists, queues, stacks, trees, and graphs); array and pointer
implementations; advanced searching and sorting algorithms (shell, heap, merge, and
quick sort).

Objectives of the Course

At the end of the course, students will be able to:


 Describe the techniques used for database design.
 Describe and identify the hardware structure that makes up a computer
 Define and know what an algorithm is
 Explain different sorting and searching algorithms
 Define and explain listed ADTs
 Know dynamic memory allocation and de allocation
 Describe common applications for each data structure in the topic list
 Compare alternative implementations of data structures with respect to
performance
 Compare and contrast the costs and benefits of dynamic and static data structure
implementations.
 Choose the appropriate data structure for modeling a given problem.
 have the ability to design data structures that can map the actual relationships of
the data in the real world and that are also simple enough for processing
Detailed Contents of the Course
Chapter 1: Introduction to Data Structures
1.1 Abstract Data Types (ADTs)
1.2 Abstraction
1.3 Design approach
 Top to Down
 Bottom up
Chapter 2: Algorithm and Algorithm Analysis
2.1 Properties of Algorithms
2.2 Analysis of Algorithms (Qualitative and Quantitative Analysis)
Chapter 3: Simple Sorting and Searching Algorithms
3.1 Searching (Linear/Sequential Searching, Binary Searching)
3.2 Sorting (Selection Sort, Bubble Sort, Insertion Sort, and Pointer Sort)
Chapter 4: Data Structures
4.1 Review on Pointers, dynamic memory allocation and de-allocation
4.2 Linear ADTS: Linked List; Queues; Stack; Array and Pointer implementations
4.3 Nonlinear ADT (Binary Trees)
Chapter 5: Advanced Sorting and Searching
5.1 Sorting (Heap Sort, Quick Sort, Merge Sort, Shell Sort)
5.2 Advanced Searching: Hashing

Main Projects/Activities of the Course


 Apply basic data structure concepts like linked list, Double-linked list, stack and
queue

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture,
 assignments and
 Lab, Lab exercises

Major References /Textbooks of the Course


 Data Structures A Pseudocode Approach With C ++ By – Richard F. Gilber. Behrouz A.
Forouzan (Thomson Press)
 Data Structures & Algorithm Analysis In C ++ By – Mark Allen Weiss.
 SartajSahni, Data Structures, Algorithms, And Applications In C ++ , Tmh
 Gregory L. Heileman, Data Structures, Algortihms, And Object –Oriented Programming,
Tmh.
 Michael Main Walter Savitch, Data Structures And Other Objects Using C ++, Pearson.

Major Materials /Equipment needed for the Course


 Computer lab with programming language IDE Software

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Assignment – 15%
o Test 1- 15%
o Test 2- 10%
o Test 3(Mid)- 20%
Description of Courses
11. Name of the course: Wireless Communication and Mobile computing
Course code: ICT228 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): None

Course Description
This course is aimed to give students knowledge and skills on the current wireless systems;
introduce mobile computing; mobile devices and trends of mobile computing; mobile
communication protocols; mobile operating systems; application development for mobile
devices. This will be achieved by using one of the highly used platforms of a mobile device.

Objectives of the Course


At the end of the course, students will be able to:
 understand current wireless systems
 understand computing evolution trends
 develop a mobile based applications using Android
 Develop a simple SMS application
 Develop a simple mobile based web application

Detailed Contents of the Course


Chapter 1 - Wireless Communication
1.1 Overview of current wireless systems
1.2 Wireless channel and system models
1.3 Cellular communications
1.4 Multiple access schemes: FDMA, TDMA, CDMA
1.5 Wireless communication systems standards (1G/2G/3G systems)
1.6 Topologies of cellular and ad-hoc networks
Chapter 2 - Mobile Computing
2.1 Introduction to mobile computing
2.2 Mobile devices and trends of mobile computing
2.3 Mobile communication protocols
2.4 Mobile operating systems
Chapter 3 - Application development for mobile devices
3.1 Introduction to Android
3.2 Activities of Android
3.3 UI design of Android
3.4 Event handling in android
3.5 Intents of Android
Chapter 4 - Android database
4.1 Introduction to Android database
4.2 SQL lite of Android
4.3 File Management
Chapter 5 – Other Mobile Technologies
5.1. SMS Technology
5.2. Mobile Web Applications

Main Projects/Activities of the Course


 Local Application development
 Web Apps

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture
 Practical demonstration
 discussion

Major References /Textbooks of the Course

 Mark L. Murphy (2016): Android programming Turorials, 3rd edition.


 Reza B'Far, Roy T. Fielding, Mobile Computing Principles: Designing and Developing
Mobile Applications with UML and XML, Cambridge University Press, 2005.

Major Materials /Equipment needed for the Course


 Computers equipped with associated software
 Internet Access

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
12. Name of the course: Fundamentals of Operating System
Course code: ICT226 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): None

Course Description

This course introduces students to the basic purposes and methods of operating systems. Topics
to be covered are: introduction - what is an operating system, history, evolution, and philosophy
of operating systems, operating system structure and services; process and process management:
the process concept, threads, inter process communication and synchronization, CPU scheduling;
deadlocks; memory management: basic memory management, multiprogramming with variable
partitions; virtual memory, memory allocation algorithms, page replacement algorithms,
segmentation; file systems: access methods, directory structure, file sharing and protection;
input/output: direct memory access, disk I/O; security: threats.

Objectives of the Course


At the end of the course, students will be able to:
 grasp operating system design concepts, define an operating system, and understand what
an operating system does,
 understand processes, scheduling, memory, and file management,
 know the difference between a process and a thread,
 understand how a file is managed by an operating system, and
 Be exposed to security issues related to operating systems.

Detailed Contents of the Course


Chapter 1: Introduction
1.1 What is an Operating System?
1.2 History of Operating Systems
1.3 Operating System Categoriesand Services
1.5 Operating System Structures (Monolithic, layered, virtual machine)
Chapter 2: Processes and Process Management
2.1 The Process Concept
2.2 Threads
2.3 Interprocess Communication
2.4 Process Scheduling
2.5 Deadlocks
Chapter 3: Memory Management
3.1 Introduction
3.2 Fixed Partitions
3.3 Variable Partitions
3.4 Virtual Memory
Chapter 4: File Systems
4.1 The User’s Point of View
4.2 Implementation Point of View
4.3 Disk Management
Chapter 5: Input/Output
5.1 Principles of I/O Hardware
5.2 Principles of I/O Software
Chapter 6: Security and Protection
6.1 Overview
6.2 Threats, Intruders, Accidental Data Loss
6.3 Possible Solutions

Main Projects/Activities of the Course


 File system

Main Topics Demanding Cooperative Training


 None
Pedagogical Aspects of the Course
 Lecture
 Practical demonstration
 discussion

Major References /Textbooks of the Course


 Andrew Tanenbaum, Modern Operating Systems, Prentice Hall.
 William Stallings, Operating Systems, Prentice Hall.
 Harvey M. Deitel, An introduction to operating systems. Addison-Wesley.

Major Materials /Equipment needed for the Course


 Computers equipped with associated software
Evaluation Mechanism of the Course
 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
13. Name of the course: Database Administration
Course code: ICT224 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): ICT124

Course Description

This course aims to provide the trainees with the necessary competence to understand and
apply the basics of database administration. It also aims to provide trainees with some of the
concepts and principles deemed crucial in the area of advance database systems. The module is
believed to enable trainees to build on their understanding of advance database concepts and
acquire in-depth database administration skills so that they will be able to design and
administer database systems.

Objectives of the Course


At the end of the course, students will be able to:
 Apply the concepts of database normalization
 Understand and use database query optimization techniques
 Apply database security and authorization
 Understand basic concepts of data warehousing and data mining
 Demonstrate SQL server backup and recovery
 Apply SQL server security management
 Apply database replication techniques
 Demonstrate SQL server job scheduling

Detailed Contents of the Course


Chapter 1: Introduction to Advance Database Systems
1.5 Concepts of Object-Oriented Databases
1.6 Database Programming
1.7 Database Connectivity Using Visual Basic.Net
1.8 Data Manipulation Using Visual Basic.Net
1.9 Database Backup and Recovery

Chapter 2 - Query processing and optimization


2.1 Overview
2.2 Translating SQL queries into Relational Algebra
2.3 Using Heuristics in Query Optimization

Chapter 3 - Transaction Processing Concepts


3.1 Introduction
3.2 Transaction and System concepts
3.3 Desirable properties of Transactions
3.4 Schedules and Recoverability
Chapter 4 - Database Security and Authorization
4.1 Introduction
4.2 Discretionary Access control based on Granting/Revoking of privileges
Multilevel Security
4.3 Data encryption

Main Projects/Activities of the Course


 Database creation
 Using transactional statements
 Applying security to database

Main Topics Demanding Cooperative Training


 None

Pedagogical Aspects of the Course


 Lecture
 Practical demonstration
 discussion

Major References /Textbooks of the Course


 Advanced Database Projects in Access, Tendell, 3rd Ed. 2008
 Butow, Eric; Ryan, Tommy (2007); VB.net Your Visual BluePrint for Buinding .NET
applications, Hungry Minds, Inc.
 Davis, Stephen Randy; Sphar, Chuck (2008); Visual Basic .Net 2005 for Dummies,
Wiley Publishing, Inc.
 Multimedia: Make it work, Vaughan, 7th Ed.,2008

Major Materials /Equipment needed for the Course


 Computers equipped with associated software

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
o
14. Name of the course: Senior Project I
Course code: ICT323 Cr.hr. 2 (Lec. 0 ; Lab. 3 ; Tut. 3)
Prerequisite (s): None

Course Description
This course is about Senior Project One. It helps students to be Apply steps of system
requirement analysis and design. Students are required to select system domain, assess
and analyze system requirements, apply value chain analysis methods and design a
project to be implemented on Senior Project II.

Objectives of the Course


At the end of the course, students will be able to:
 Identify existing problems and possible solutions
 Analyze system requirements
 Assess feasibility of a system
 Do value chain analysis
 Design a system
 Discuss with domain experts on the designed system
 Plan for system implementation

Detailed Contents of the Course


Chapter 1: Identifying Problems and proposed solutions – (Introduction)

1.1. Background
1.2. Statement of the problem
1.3. Objective
1.4. Scope and limitation
1.5. Significance of the project
1.6. Methodology
1.7. Definition of terms or acronyms

Chapter 2: System Analysis


2.1. Value chain analysis
2.2. Current system
2.3. Proposed System
2.3.1. Functional Requirement
2.3.2. Non-functional requirement
2.4. System Modeling
2.4.1. Use case model
2.4.2. Sequence diagram
2.4.3. Activity diagram
2.4.4. Context or component diagram
Chapter 3: System Design
3.1. System decomposition
3.2. Class diagram
3.3. Persistent Data Management diagram
3.4. Deployment diagram
3.5. Interface Design
Chapter 4: Planning for project/system Implementation
4.1. Schedule Implementation plan
4.2. Resource allocation plan (Materials required)

Main Projects/Activities of the Course


 Proposal
 Design documentation
 Implementation plan

Main Topics Demanding Cooperative Training

Pedagogical Aspects of the Course


 Advising
 Commenting on out puts

Major References /Textbooks of the Course

Major Materials /Equipment needed for the Course



Evaluation Mechanism of the Course
 Documentation - 50%
 Title proposal and its defense - 20%
 Presentation of project background, project system analysis, project value chain
analysis and project design – 30%
15. Name of the course: Introduction to Artificial Intelligence
Course code: ICT321 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): None

Course Description
This covers topics that include Introduction to artificial intelligence; History of Artificial
intelligence. Formal representation of real world problems, Turing Test, game playing;
search of problem spaces for solutions, knowledge representation, Expert systems
uncertainty and probabilistic reasoning, machine learning, introduction to fuzzy logic,
neural networks, computer vision and robotics.

Objectives of the Course


At the end of the course, students will be able to:
 Understand bout Turing test
 Understand the theory and logic behind game playing;
 Describe what expert systems are;
 Understand about uncertainty & probabilistic reasoning;
 Understand about machine learning;
 Describe philosophical implications of AI

Detailed Contents of the Course

CHAPTER -1: INTRODUCTION


Definition of AI
Foundation and History of AI
How AI systems differ from Human
Application of AI
CHAPTER -2: INTELLIGENT AGENTS
How Agents should act
Structure of Intelligent Agents
Environment of Intelligent Agents
CHAPTER -3: PROBLEM SOLVING
Problems
Problem Solving Agents
Problem formulation
Examples of Problems
Searching for Solutions
CHAPTER -4: SEARCH STRATEGIES
Criteria for Evaluating Searching Algorithms
Uninformed (Blind) Search Algorithms
Informed (Heuristic) Search Algorithms
Hill Climbing Search
Simulated Annealing Search
CHAPTER -5: KNOWLEDGE AND REASONING
Agents that Reason Logically
First Order Logic
Building a Knowledge Base
 Knowledge Representation
 Approaches to Knowledge Representation
 Knowledge Representation Schemes
CHAPTER -6: EXPERT SYSTEM
Characteristics of ES
Types of ES
Architecture of ES,
Reasoning Techniques (Case-Based vs. Rule-Based)
Forward and Backward Chaining
Semantic Networks and Frames
Robotics
CHAPTER -7: SOFT COMPUTING TECHNIQUES
Fuzzy Logic
Neural Networks
CHAPTER 8: PRACTICAL PART
8.1. THE PROLOG LANGUAGE
1. An overview of Prolog
2. Syntax and meaning of Prolog programs
3. Lists, Operators, Arithmetic
4. Using structures
5. Controlling Backtracking
6. I/O
7. Built-in procedures
8. Operations on Data Structures
9. Advanced Tree Representations
10. Basic Problem Solving Strategies
Depth First Search
Iterative Deepening Search
Main Projects/Activities of the Course
 Simple programs using Prolog
 Mini expert system done with prolog

Main Topics Demanding Cooperative Training


None

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
Textbooks:
 Elaine Rich, Kevin Knight, “Artificial Intelligence”, Tata Mc. Graw Hill
Publisher
References:
 Haugeland, J. (editor). Artificial Intelligence: The Very Idea}, MIT Press,
Cambridge, Massachusetts, 1985.
 Charniak, E. and D. McDermott. Introduction to Artificial Intelligence, Addison-
Wesley, Reading, Massachusetts, 1985.
 Winston, P.H. Artificial Intelligence, Addison-Wesley, Reading, Massachusetts,
third edition, 1992.
 Kurzweil, R. The Age of Intelligent Machines, MIT Press, Cambridge,
Massachusetts, 1990.
 Luger, G.F and W. A. Stubblefield. Artificial Intelligence: Structures and
Strategies for Complex Problem Solving, Benjamin/Cummings, Redwood City,
California, 2/E, 1993.
 Russell, S and P. Norvig. Artificial Intelligence: A Modern Approach, Prentice
Hall, Upper Saddle River, New Jersey, 1995.
Major Materials /Equipment needed for the Course
 Computer lab equipped with Prolog compiler

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
16. Name of the course: Windows programming
Course code: ICT327 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): Object Oriented Programming (ICT223)

Course Description

This is a course in Windows programming building on prior programming experience.


The course covers topics in control arrays, exception handling, and the use of
properties, controls, and multiple forms. Introduces database manipulation and
database controls, including use of database linking and programming applications to
display, edit, and update databases by use of the data access object. This course
uses advanced programming tools such as Visual Studio .Net.

Objectives of the Course


At the end of the course, students will be able to:
 familiarize themselves on the different components of C# programming language
 familiarize themselves on c# framework and workspace.
 know the different component controls in C#
 understand the concepts of Database Programming in C#
 familiarize themselves with the different procedures on generating reports
 perform the different ways of program packaging and deployment.
 manifest such values of self-confidence and critical thinking

Detailed Contents of the Course


CHAPTER -1: Programming Fundamentals
1.1. Variable, Operators and Data types,
1.2. Control Structures and Loops
1.3. Strings and Arrays
CHAPTER -2: Basic Controls
2.1. Text Controls, Selection Controls and Progress Controls
2.2. Toolbar
2.3. Menubar and Status bar Controls , Dialogs
CHAPTER -3: Functions and Subroutines
CHAPTER -4: Database Programming
4.1. Database Controls and Database connectivity,
4.2. Record Handling and Complex Database Programming,
4.3. Database Security
CHAPTER -5: Report Generation
5.1. Report Controls , Report Generation
5.2. Report Handling, System Packaging and Deployment
5.3. Packaging system, System Deployment

Main Projects/Activities of the Course


 Develop Windows based applications of various functions
 Develop windows based applications that interact with databases

Main Topics Demanding Cooperative Training


 Visit software development companies and see how they develop computer
programs
Pedagogical Aspects of the Course
 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
 www.tutorialized.com
 www.vbtutor.net
 Keogh, Jim (2008), C# demystifield, McGrawHill company
 Goodman, Danny(2007), C# example bible, Hungry minds Inc.
 Eastton, Chuck(2001), Advanced C#, 2nd edition, Wordware publishing corp.
 Bradenbaugh, Jerry(2008), C# application cookbook, O’Reilly inc.

Major Materials /Equipment needed for the Course


Computer lab equipped with Microsoft Visual Studio Professional Latest Version

Evaluation Mechanism of the Course

 Final Examination - 40%


 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
17. Name of the course: Object oriented System Analysis and Design
Course code: ICT 325 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): None

Course Description
This course will explore introduction to Object Technology; Principles of Modeling,
Principles of Object Orientation; systems development using the object technology;
Modeling; principles of modeling; requirements gathering and modeling using use case;
techniques of modeling static and dynamic aspects of systems; finding classes and
objects; Interaction Diagrams - sequence and collaboration diagrams; Class
Diagrams; object diagram; activity diagram; Statechart diagrams; component diagram;
deployment diagram. Individual and/or team project involving reports and walk-through
in systems analysis and design is also a major component of this course using CASE
tools.

Objectives of the Course


At the end of the course, students will be able to:
 Understand the object technology and modeling principles
 Know the techniques of modeling aspects of systems
 Analyze user requirements using UML of OO techniques.
 Make a detailed design using UML of OO techniques.

Detailed Contents of the Course


Chapter 1: Understanding the Basics :Object oriented concepts
1.1.Basic Characteristics of Object-Oriented System
1.2.OO concepts from structured point of view
1.2 Abstraction, Encapsulation and information hiding inheritance Association
1.3. Benefits of Object - Oriented Systems Analysis and Design

Chapter 2: Modeling using UML

2.1. Building blocks


2.2. Diagrams
Use case diagram
Class diagram
Sequence diagram
Activity diagram and component diagram
2.3. Architecture
2.4. Common mechanisms
Chapter 3: Gathering user requirements(Requirement elicitation )

Putting together requirements gathering team


Fundamental requirements gathering techniques
Essential Use Case Modeling
Essential User Interface Prototyping
Domain modeling with class responsibility collaborator (CRC) cards
Developing a supplementary Specification
Identifying Change Cases
Ensuring Your Requirements Are correct: Requirement Validation Techniques
Testing Early and Often
Use Case Scenario Testing
Chapter 4: Determining What to Build: OO Analysis
System Use Case Modeling
Sequence Diagrams: From Use Cases to Classes
Conceptual Modeling: Class diagrams
Activity diagramming
User interface prototyping evolving your supplementary specification
Applying Analysis patterns effectively
User Documentation
Organizing your models with packages
Chapter 5: Determining How to Build Your System: OO Design
Layering your models: Class Type Architecture
Class Modeling
Applying Design Patterns Effectively
State chart modeling
Collaboration Modeling
Component Modeling
Deployment Modeling
Rational Persistence Modeling
User Interface Design
Chapter 6: Object Oriented Implementation and Testing
Chapter 7: Software process

Main Projects/Activities of the Course


 Exercises on sample cases
 Develop different models in analyzing and designing systems using the OOSAD
tools

Main Topics Demanding Cooperative Training


None

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Lab
Major References /Textbooks of the Course
 Ambler, S. W. (2001).The Object primer: The Application Developer’s Guide to Object
Orientation and the UML Second edition .New York. Cambridge University Press
 Booch G., (2000).Object oriented analysis and design with applications, Second Edition, Pearson
Education,Inc
 Hoffer J.,George J. ,Valacich J. . (2008). Modern Systems Analalysis and Design, 5th Edition.
Pearson Education
 Priestley M. (2003).Practical Object oriented Design with UML. second Edition McGraw- Hill
Education

Major Materials /Equipment needed for the Course


 Computer Lab with UML tools

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
18. Name of the course: web programing
Course code: ICT329 Cr.hr. 3 (Lec. 2 ; Lab. 3 ; Tut. 0)
Prerequisite (s): ICT126

Course Description
This course exposed students to the techniques used in programming web pages for
interactive content. In particular, the course builds on the power of AJAX (Asynchronous
JavaScript and XML), PHP or Asp.net web tools to design web pages that dynamically
interact with databases that reside on a server. The course begins by reviewing basic
web technologies (HTML, CSS stylesheets) and exploring the use of event-driven
programming in JavaScript to add interactive elements such as buttons and text fields to
web pages.
Objectives of the Course
At the end of the course, students will be able to:
 Communicate effectively using today's technologies. (email, discussion forums, and other
Web- based tools)
 Create and publish interactive web pages on the World Wide Web.
 Establish a professional, client-based attitude, toward web design.

Detailed Contents of the Course


Chapter1 -PHP

 Introduction to web development with PHP


 Install and use PHP on a local server.
 How to code a PHP application
 Utilize XHTML forms and PHP to get information from the user.
 Utilize decision making constructs in a PHP program.
 Utilize decision making constructs in a PHP program.
 Utilize decision making constructs in a PHP program.
 Use functions are part of your code design.
 Utilize two techniques to overcome the statelessness of the Web.
 Use files I/O to read and write to files.

Chapter 2- SQL and phpMyAdmin

 Install mySQL and use phpMyAdmin


 Install and Administer a Content Management System (CMS)
 Demonstrate how Web 2.0 encourages
 Collaboration

Chapter3 - Server-Side Scripting Using ASP.NET


 Establish a server-side development environment using ASP.NET
 Utilize Web Controls and Validation Controls
 Write event-driven web pages
 Connect to a Database using SQL and ADO.NET
 Build dynamic web pages using database server controls

Main Projects/Activities of the Course

Main Topics Demanding Cooperative Training

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Discussion

Major References /Textbooks of the Course


 Brendan Murphy (2002), Dream weaver made simple
 Computer Graphics with OpenGL, Hearn & Baker, 3rd Ed., 2004
 Microsoft SQL Server 2005 for Dummies, 1st Ed.Watt, 2006

Major Materials /Equipment needed for the Course

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
19. Name of the course: Fundamentals of Wide Area Networks
Course code: ICT322 Cr.hr.3 (Lec. 2 ; Lab. 3 )
Prerequisite (s): ICT123

Course Description
This course concentrates on an introduction to Wide Area Networking (WANs).which
includes WAN design, Frame Relay, ISDN, and PPP. The course will focuses on Layer 2
and Layer 3 of the OSI Model, Network Address Translation, Dynamic Host
Configuration Protocol and Network Management Systems. Extensive lab activities will
reinforce router and switch configuration, using Variable Length Subnet Masking
(VLSM) and Classless Inter-Domain Routing (CIDR).

Objectives of the Course


At the end of the course, students will be able to:
 Describe WAN technologies and services
 Understand key Frame Relay terms and concepts
 List commands to configure Frame Relay, Local Management
Interfaces(LMI), maps and sub interfaces
 List commands to monitor Frame Relay operation in a router
 Understand the different Frame Relay encapsulation
 Identify PPP operations to encapsulate WAN data on Cisco routers
 State relevant use and context for ISDN
 Identify ISDN protocols, functions, groups, reference points and channels
 Construct access control lists to secure a network
 Practice secure router management

Detailed Contents of the Course

Chapter 1 - Wide Area Network Design


1.1 Identify and describe WAN switching categories
1.1.1 Packet switching: Frame Relay, ATM
1.1.2 Circuit switching: Analog, ISDN
1.2 Define Virtual circuits
1.3 Name the different WAN connections
1.3.1 Leased line
1.3.2 Circuit switching
1.3.3 Packet switching
1.3.4 Cell relay
1.3.5 Internet
Chapter 2 - Point-to-Point (PPP)
2.1. Define the proprietary [Cisco] High-level Data Link Control (HDLC) encapsulation
2.2 Configure HDLC on an interface
2.3 Compare HDLC with Point-to-Point encapsulation (PPP, non-proprietary)
2.4 Understand a PPP session
2.5 Enable PPP on an interface
2.6 Use authentication protocol with PPP
2.7 Password Authentication protocol (PAP)
2.8 Challenge Handshake Authentication Protocol (CHAP)

Chapter 3 - Frame Relay


3.1. Identify and describe basic WAN components:
3.2. Data Communications Equipment (DCE)
3.3. Data Terminal Unit (DTE)
3.4. Frame Relay backbone
3.5. Describe a virtual circuit
3.6. Switched virtual circuit (SVC)
3.7. Permanent virtual circuit (PVC)
3.8. Match virtual circuits with Data Link Connection Identifier (DLCIs)
3.9. Configure Frame Relay, virtual circuits and Local Management Interface (LMI)
3.10. Address mapping
3.11. Sub interfaces: point-to-point, multipoint
Chapter 4- Introduction to Network Security
4.1 List and describe the types of network attacks
4.2 Understand the importance of a security policy in protecting network assets
4.3 Identify major categories of security threats
4.4 Enumerate and describe the different techniques to mitigate network attacks
4.5 Configure router security
Chapter 5 - Access Control Lists
5.1 Understand the role of access control lists (ACLs) in securing a network
5.2 Identify the types of Cisco ACLs
5.3 Standard ACLs
5.4 Extended ACLs
5.5 Numbered ACLs
5.6 Named ACLs
5.7 Dynamic ACLs
5.8 Complex ACLs
5.9 Configure ACLs and apply them to router interfaces
Chapter 6 - Broadband Services and VPN
6.1 Understand how broadband services support teleworking
6.2 Describe how teleworkers connect to the WAN
6.2.1 Dial-up access
6.2.2 DSL
6.2.3 Cable modem
6.2.4 Wireless
6.2.5 Satellite
6.3 Understand and describe how VPN supports secure private networks over the Internet
Chapter 7 - IP Addressing Services
7.1 Identify some solutions to shortage of IP addresses
7.2 Dynamic Host Configuration Protocol (DHCP)
7.3 Network Address Translation (NAT)
7.4 IPv6
7.5 Configure dynamic and static NAT
7.6 Configure IPb6 addresses

Main Projects/Activities of the Course


Router and switch configuration
Main Topics Demanding Cooperative Training
Router and switch configuration
Pedagogical Aspects of the Course
 Lecture
 Practical Demonstration
 Discussion

Major References /Textbooks of the Course


 Wide Area Networks, Patrick E. Regan Publisher Pearson/Prentice Hall, 2004 ISBN 013046578X,
9780130465788

Major Materials /Equipment needed for the Course


 Switch, Router
 Network cable, Network Tools kits, Simulation tools

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%
20. Name of the course: Information System security
Course code: ICT 326 Cr.hr. 3 (Lec. 2; Lab. 3)
Prerequisite (s):ICT123

Course Description
The course will cover historical background of security, fundamentals of Information Systems
security, privacy and the importance of security for Information Systems. Additional topics
include protection schemes, public and private key encryption techniques, and security at
different layers, malicious security threats (viruses, worms, Trojan horses) and web security.
Objectives of the Course
At the end of the course, students will be able to:
 Understand potential threats of information systems
 Comprehend theories and principles of information security
 Plan security protection mechanisms and analyze their strength and limitations
 Demonstrate how to secure computer resources and control user’s accesses
Detailed Contents of the Course
Chapter 1 - Introduction to Computer Security
1.1 Basic concepts of computer security
1.2 Vulnerabilities
1.2.1 Hackers
1.2.2 Eavesdroppers
1.2.3 Malicious Software
1.3 Security goals
Chapter 2 - Cryptography
2.1 Information security goals: confidentiality, integrity, authentication
2.2 Basics of cryptography
2.2.1 Symmetric primitives: encryption, message authentication codes
2.2.2 Public-key primitives: asymmetric encryption, digital signatures
2.5 Cryptographic protocols: key exchange, key distribution, authentication
Chapter 3 - Operating System Security
3.1 Resource separation and memory protection
3.2 Access control, authentication and authorization
3.3 Audit logs and accountability
Chapter 4 - Software Security
4.1 Buffer overflow and other implementation flaws
4.2 Isolation and sandboxing techniques
4.3 Software engineering best practices: defensive programming, fail-safe
defaults, least-privilege and privilege-separation principles

Chapter 5- Intrusion Detection Systems

5.1 Analyze network vulnerabilities


5.2 Network based intrusion detection systems
5.3 Host based intrusion detection systems
5.4 Intrusion detection systems evaluation process

Main Projects/Activities of the Course

Main Topics Demanding Cooperative Training

Pedagogical Aspects of the Course


 Lecture
 Practical Demonstration
 Discussion
Major References /Textbooks of the Course
- Rick Lehtinen and G. T. Gangemi: Computer Security Basics, 2nd edition, USA,
O'Reilly Media Inc., 2006.
- William Stallings: Cryptography and Network Security – Principles and Practices.
- Atul Kahate: Cryptography and Network Security, Tata McGraw Hill, 2007.
- Bruce Schneier: Applied Cryptography, John Wiley and Sons Inc, 2005.

Major Materials /Equipment needed for the Course

Evaluation Mechanism of the Course


- Continuous assessment 30%
- Assignment: 20%
- Mid exam: 20%
- Final exam: 30%
21. Name of the course: IT Project Management
Course code: ICT324 Cr.hr. 3 (Lec. 2; Lab. 3)
Prerequisite (s):

Course Description
Concepts and issues of software project management and the practical benefits of
project planning and management together with resource management; project
planning and management, estimation models and techniques, software project
scheduling; software project tracking, metrics, and system performance evaluation;
managing expectations of managers, clients, team members, and others; determining
skill requirements and staffing; cost-effectiveness analysis; reporting and presentation
techniques; management of behavioral and technical aspects of a software project;
change management; software tools for project tracking and monitoring, team
collaboration techniques and tools.

Objectives of the Course


At the end of the course, students will be able to:
 Understand potential threats of information systems
 Comprehend theories and principles of information security
 Plan security protection mechanisms and analyze their strength and limitations
 Demonstrate how to secure computer resources and control user’s accesses
Detailed Contents of the Course
Chapter 1 - Introduction to Software Project Management
1.1 Software Project Management Basics
1.2 Role of a Software Project Manager
1.3 Software Project Resources
1.4 Phases of a Software Project
Chapter 2 - Introduction to PERT/CPM
2.1 Work Breakdown Structure
2.2 Network diagramming
2.3 Critical Path
2.4 PERT Probability
2.5 Crashing
2.6 Resource Leveling
Chapter 3 - Software Effort Estimation
3.1 Estimation Basics
3.2 LOC Method
3.3 Function Points
3.4 Activity Based Estimation
3.5 COCOMO
3.6 Uncertainty in estimation
Chapter 4 - Software Project Planning
4.1 Management
4.2 Risk
4.3 Configuration
4.4 Quality Assurance
4.5 Induction
4.6 Schedule
Chapter 5 - Configuration Management
5.1 Configuration Management Basics
5.2 Environment for Configuration Control
5.3 Configuration Control vs Version Control
5.4 Code Management
5.5 Change Management
5.6 Information Management
Chapter 6 - Quality Assurance in Software Projects
6.1 Quality Basics
6.2 Quality Assurance Activities in Software Projects (standards and processes)
6.3 Quality Control Activities in Software Projects (Verification, Validation,
Quality Metrics)
6.4 Introduction to ISO 9000, SEI – CMM Maturity Levels, Six Sigma
Chapter 7 - Productivity Aspects
7.1 Productivity Basics
7.2 Productivity Measurement and Metrics
Chapter 8 - Human Factors and Leadership
8.1 Motivation
8.2 Communication
8.3 Handling Difficult People
8.4 Leadership
8.5 Team Dynamics
Chapter 9 - Progress Tracking and Control
9.1 Progress Assessment and Reporting
9.2 Scope Management
9.3 Risk Mitigation
Chapter 10 - Software Project Closeout
10.1 Software Project post-mortem
10.2 Collection of re-usable Components
10.3 Draw lessons from the good and bad Practices of the Software Project
10.4 Project-End Audit
Chapter 11 - Organizational Support for Effective Software Project Management
11.1 Recognition as a Specialist Discipline
11.2 Organize Knowledge Repository
11.3 Processes, Standards and Guidelines
11.4 Training

Main Projects/Activities of the Course

Main Topics Demanding Cooperative Training

Pedagogical Aspects of the Course


- Lecture, Assignment
- Discussion

Major References /Textbooks of the Course


- Olson, David L.: Introduction to Information Management Systems, 2001.
- K. Schwalbe: Information Technology Project Management, 3rd Edition, Thompson,
2003.
- S. Humphrey: Managing the Software Process, Addison-Wesley, 1989.
- N. Whitten: Managing Software Development Projects: Formula for Success, 2n
edition, Wiley, 1995.

Major Materials /Equipment needed for the Course

Evaluation Mechanism of the Course


- Continuous assessment 30%
- Assignment: 20%
- Mid exam: 20%
- Final exam: 30%
22. Name of the course: Server Administration
Course code: ICT324 Cr.hr. 3 (Lec. 2 ; Lab. 3 )
Prerequisite (s): ICT123

Course Description
This course provides an advanced knowledge of networking as well as related
equipment and terminologies. The course will cover Local area network, wide area
network, managing enterprise level networks using Active Directory and remote access.
Advanced network management and environment customization techniques will be
explored, including creating users/groups, managing file permissions, configuring server
roles, using group policies to configure and secure the network, Backup and Recovery
and routine system maintenance and troubleshooting.

Objectives of the Course


At the end of the course, students will be able to:
 Install, configure and manage enterprise systems/networks, including
hardware/software.
 Implement and administer desktop and server operating systems (client/server),
switching and routing devices.
 Implement and configure active directory
 Create user/group accounts and configure server roles.
 Administer permissions for users, files and network resources.
 Use group policies to configure and secure the network.
 Manage desktops and server computers using remote access.
 Install and configure TCP/IP for network and Internet connectivity.
 Maintain and troubleshoot enterprise networks.
 Perform Backup and Recovery

Detailed Contents of the Course


Chapter 1. Installing, Upgrading, and Deploying Server
1.1. Planning Server Operating System Installation and Upgrade
1.2. Selecting the Right Edition of Server OS
1.3. Installing Server OS
1.4. Upgrading Server OS from earlier version
1.5. Automated Server Deployment
Chapter 2. Configuring Network Connectivity
2.1. Using IPv6 in Server OS installation
2.2. Addressing Problems Caused by IPv4 Limitations
2.3. Analyzing the IPv6 Address Structure
2.4. Planning an IPv4 to IPv6 Transition Strategy
2.5. Implementing IPv4-to-IPv6 Compatibility
2.6. Using IPv6 Tools
2.7. Configuring Clients Through DHCPv6
2.8. Planning an IPv6 Network
2.9. Practice: Configuring IPv6 Connectivity
2.10. Configuring DNS
2.11. Examining New DNS Features and Enhancements
2.12. Planning a DNS Infrastructure
Chapter 3. Active Directory and Group Policy
3.1. Active Directory
3.1.1. Introducing Directory Server Role
3.1.2. Planning Domain and Forest Functionality
3.1.3. Planning Forest-Level Trusts
3.1.4. Raising Domain and Forest Functional Levels and Configuring
Fine-Grained Password Policy
3.2. Group Policy
3.2.1. Understanding Group Policy
3.2.2. Planning and Managing Group Policy
3.2.3. Troubleshooting Group Policy
3.2.4. Installing the GPMC and Creating a Central Store for Group Policy
Files
Chapter 4. Application Servers and Services
4.1. Application Servers
4.1.1. Planning Application Availability
4.1.2. Ensuring Application Availability
4.1.3. Implementing Application Accessibility
4.1.4. Planning Application Resilience
4.1.5. Practice: Installing the Application Server Server Role
4.2. Application Deployment
4.2.1. Planning Application Deployment
4.2.2. Deploying Applications Using System Center Essentials
Chapter 5. Terminal Services and Application and Server Virtualization
5.1. Terminal Services.
5.1.1. Planning Terminal Server Infrastructure
5.1.2. Terminal Services Licensing
5.1.3. Configuring Terminal Servers
5.1.4. Terminal Services Web Access
5.1.5. Terminal Server Session Broker
5.1.6. Monitoring Terminal Services
5.1.7. Terminal Services Gateway
5.1.8. Deploying Terminal Services
5.2. Server and Application Virtualization
5.2.1. Hyper-V
5.2.2. Managing Virtualized Servers
5.2.3. Terminal Services RemoteApp
5.2.4. Configuring and Deploying RemoteApp
Chapter 6. File and Print Servers
6.1. Managing File and Print Servers
6.1.1. Planning the File Services Server Role
6.1.2. Managing Access Control
6.1.3. Using FSRM to Configure Quotas and File Screen Policy
6.1.4. Planning the Print Services Server Role
6.1.5. Adding Role Services to the File Services Server Role and Adding
the Print Services Server Role
6.2. Provisioning Data
6.3. Using DFS Namespace to Plan and Implement a Shared Folder
6.4. Structure and Enhance Data Availability
6.5. Configuring a DFSR Structure
6.6. Configuring Offline Data Access
6.7. Configuring Indexing in the Windows Search Service
Chapter 7. Windows Server Management, Monitoring, and Delegation
7.1. Server Management Strategies
7.1.1. Tools for the Administration of Server
7.1.2. Remote Administration Technologies
7.1.3. Managing Server Event Logs
7.1.4. Remotely Managing Server
7.2. Monitoring and Optimizing Performance
7.2.1. Reliability and Performance
7.2.2. Optimizing Windows Server 2008 Performance
7.2.3. Windows System Resource Manager
7.3. Delegating Authority
7.3.1. Delegation Policies
7.3.2. Delegation Procedures
7.3.3. Credential Delegation
7.3.4. Delegating the Management of Applications
7.3.5. Practice: Delegating Administrative Permissions
Chapter 8. Patch Management and Security
8.1. Server Patch Management Strategies
8.1.1. Deploying Updates with WSUS
8.1.2. Replica Mode and Autonomous Mode
8.1.3. Using Computer Groups
8.1.4. WSUS Client Configuration
8.1.5. Updates and Synchronization Strategies
8.1.6. Update Management and Compliance
8.1.7. Other Patch Management Tools
8.2. Monitor and Maintain Server Security
8.2.1. Monitoring Server Security
8.2.2. Encrypting File System
8.2.3. Firewalls with Advanced Security
8.2.4. Server Isolation Policies
Chapter 9. Remote Access and Network Access Protection
9.1. Managing Remote Access
9.1.1. VPN Protocols and Authentication
9.1.2. Network Policy Server
9.1.3. Remote Access Accounting.
9.1.4. Terminal Services Gateway Servers
9.1.5. Installing and Configuring Remote Access
9.2. Network Access Protection
9.2.1. System Health Agents and Validators
9.2.2. NAP Enforcement Methods
9.2.3. Remediation Servers
9.2.4. Configuring NAP with DHCP Enforcement
Chapter 10. Backup and Recovery
10.1. Backing Up Data
10.1.1. Shadow Copies of Shared Folders
10.1.2. Windows Server Backup
10.1.3. The wbadmin Command-Line Tool
10.1.4. Backing Up Server Roles and Applications
10.1.5. Remotely Backing Up Computers
10.1.6. Further Considerations for Planning Backups
10.1.7. System Center Data Protection Manager
10.1.8. Practice: Backing Up Server
10.2. Disaster Recovery
10.2.1. Windows Server Backup Recovery Modes
10.2.2. Recovering Active Directory
10.2.3. Hyper-V and Disaster Recovery
10.2.4. Practice: Restoring Server

Main Projects/Activities of the Course


Installation, configuration and securing windows server operating system

Main Topics Demanding Cooperative Training


Server Administration

Pedagogical Aspects of the Course

 Classroom lectures
 Demonstrations.
 Hands-on projects.

Major References /Textbooks of the Course


 Title: Hands-On Networking Fundamentals| Author: Palmer | Edition: 2nd | Copyright
Year: 2013 ISBN: 9781111306748
 Title: Applied Networking Labs: A Hands-On Guide to Networking and Server
Management | Author: Boyle | Edition: 1st | Copyright Year: 2011 | ISBN:
9780132310345
 On Microsoft Windows Server 2008 by Michael Palmer ISBN 13: 978-1-4239-0234-8 ISBN
10: 1-4239-0234-3 Publisher: Course Technology, 2009.
Major Materials /Equipment needed for the Course
Switch, Server computer, Server operating system

Evaluation Mechanism of the Course


 Final Examination - 40%
 Continuous Assessment - 60%
o Project – 15%
o Test 1- 15%
o Test 2(Mid)- 20%
o Lab Test -10%

Description of Courses
23. Name of the course: Senior Project II
Course code: ICT328a Cr.hr. 4 (Lec. 0 ; Lab. 12 ; Tut. )
Prerequisite (s): ICT323 (Senior Project I)

Course Description
This course is about Senior Project Two. It helps students to integrate and apply different
application programming, web programming or database programming or mobile
application programming that they have been learned through different courses. This
project implementation is based on designs and interfaces on senior project I.

Objectives of the Course


At the end of the course, students will be able to:

 Develop a web or/and Desktop or/and mobile application


 Demonstrate system they developed
 Present and defend their projects
 Submit a finalized documentation of their projects
 Recommend future works

Detailed Contents of the Course

Continued ………From senior project I …..

Chapter 4: Implementation and Testing


Introduction
4.1 Final Testing of the system
4.2 Hardware software acquisitions
4.3 User manual preparation
4.4 Training
4.5 Installation Process
4.6 Start-up strategy
Chapter 5: Conclusion and future works
5.1. Conclusions
5.2. Recommendations
Appendix (Sample code,…)

Main Projects/Activities of the Course


 Project
 Project documentation

Main Topics Demanding Cooperative Training

Pedagogical Aspects of the Course


 Advising
 Commenting on out puts

Major References /Textbooks of the Course

Major Materials /Equipment needed for the Course


 Based on trainee requirement of project I
Evaluation Mechanism of the Course
 Documentation - 50%
 Presentation of finalized project – 50%

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy