# Computer Science

## Courses

**Course Code**: C12

**Units**: 8

**Lecturer**: Jawaher Abdulwahab Fadhil

**Description**:

**AIM**

To Study the structure and behavior of processors, memories
and input and

output units and to study their interactions.

**OBJECTIVES**

o To study the various representations of data, register transfer
language for

micro- operations and organization and design of a digital computer.

o To teach the concept of micro-programmed control unit, the
central processing

unit, stack and instruction formats.

o To Study the various
arithmetic operation’s algorithms and their hardware

implementations and concept of pipelining and vector processing.

o To illustrate the techniques to communicate with input and output devices.

o To study the organization
and operation of various memories and memory

management hardware.

**Contents**

**1 Inside
the computer **

o Internal organization of computers

o Data types and Data definition.

o CPU and its relation to RAM and ROM

o Inside CPU

**2
Brief history of the CPU **

o CISC vs RISC

o Evolution from 8080/8085 to 8086

o Pipelining

o Register Set

**3
An introduction to BEBUG programing **

o Segments of a program

o Logical Address and physical address

o Mov instruction

o ADD and ADC instruction

o Flag Register

o Use of the zero flag for looping

**4
Arithmetic instructions **

o Subtraction of unsigned numbers

o SBB (Subtract with borrow)

o Unsigned Multiplication numbers

o Unsigned Division numbers

**5
Logic Instructions **

o And, OR instructions

o XOR Instruction

o SHIFT (shift right and shift left)

o COMPARE of unsigned numbers

**6
Input–Output Designs and Organization **

o Programmed I/O

o Interrupt-Driven I/O

o Direct Memory Access (DMA)

**References:
**

o Sajjan G. Shiva, Computer Organization Design and Architecture, Fourth Edition, Taylor & Francis Group, LLC, 2008

o Muhammad Ali Mazidi, The 80x 86 IBM PC and Compatible Computer (Volum I), Second Edition.

**Course Code**: C11

**Units**: 8

**Lecturer**: Majid Mohammad Noori

**Description**:

**Course Overview**

Understanding programming language is the major prerequisite to the study of most of computer science. This course teaches students how to use the C++ programming language well; furthermore, teaches students to become competent in languages that make use of the object oriented programming.

The course also includes those skills and concepts that are essential to programming practice. As a result, this area includes units on fundamental programming concepts, basic data structures, and algorithmic and problem solving process.

**Course
Objectives**

The subjects in the course give students knowledge about structured programming with C++ as the selected programming language. Passing through basic language tokens: Statements, Selection, Lopping, Arrays, Functions, Structures and Files. So the student can then analyze and explain the behavior of programs involving the fundamental programming constructs covered by the unit.

Students also will be familiar with the importance of algorithms in the problem–solving process by knowing problem-solving strategies, the role of algorithms and implementation strategies for algorithms. Students also can choose the appropriate data structure for modeling a given problem after getting the basics of data structures.

**Course
Syllabus**

**1. Introduction (12 Hrs)**

1.1 An Introduction to C and C++ Programming Language

1.2 Program Comments

1.3 The #include Directive—Header Files

1.4 The main() Function

1.5 Program Statements

1.6 Whitespace

1.7 Statement Blocks

1.8 Defining Variables

1.9 Naming Variables

1.10 Keywords in C++

1.11 Declaring Variables

1.12 Initial Values for Variables

1.13 Integer Variables

1.14 Character Data Types

1.15 The Boolean Type

1.16 Floating-Point Types

**2. Input/Output (6 Hrs)**

2.1 Basic Input/Output Operations

2.2 Input from the Keyboard

2.3 Escape Sequences

2.4 The Assignment Statement

2.5 Arithmetic Operations

2.6 The const Modifier

2.7 Constant Expressions

2.8 Calculating a Remainder

2.9 Modifying a Variable

2.10 The Increment and Decrements Operators

**3. Decisions (9 Hrs)**

3.1 Comparing Values

3.2 The if Statement

3.3 Nested if Statements

3.4 The Extended if Statement

3.5 Nested if-else Statements

3.6 Logical Operators and Expressions

3.7 Combining Logical Operators

3.8 The Conditional Operator

3.9 The switch Statement

3.10 Sharing a Case

**4. Loops (12 Hrs)**

4.1 Repeating a Block of Statements

4.2 What Is a Loop?

4.3 Using the for Loop

4.4 Variations on the for Loop

4.5 Using Multiple Counters

4.6 The Infinite for Loop

4.7 Using the continue Statement

4.8 Floating-Point Loop Counters

4.9 The while Loop

4.10 Using the while Loop

4.11 The do-while Loop

4.12 Nested Loops

**5. Arrays (9 Hrs)**

5.1 Declaring Arrays

5.2 Initializing Arrays

5.3 Character Arrays and String Handling

5.4 String Input

5.5 Multidimensional Arrays

5.6 Initializing Multidimensional Arrays

**6. Functions (15 Hrs)**

6.1 Why Do We Need Functions?

6.2 Structure of a Function

6.3 The Function Header

6.4 The General Form of a Function Header

6.5 The Function Body

6.6 The return Statement

6.7 Using a Function

6.8 Function Prototypes

6.9 Passing Arguments to a Function

6.10 The Pass by value Mechanism

6.11 Passing by value

6.12 Pointers as Arguments to a Function

6.13 Pass by pointer

6.14 Passing Arrays to a Function

6.15 Passing Multi-Dimensional Arrays to a Function

6.16 References as Arguments to a Function

6.17 Use of the const Modifier

6.18 Arguments to main()

6.19 Accepting a Variable Number of Function Arguments

**7. Defining Your Own Data Types (9 Hrs)**

7.1 What is a struct?

7.2 Defining a struct

7.3 Initializing a struct

7.4 Accessing the Members of a struct

7.5 Structure Members

7.6 Arrays of Structures

7.7 Nested Structures

**References**

Beginning Visual C++ 2005, Ivor Horton's

C++ How to Program, DEITEL

**Course Code**: C14

**Units**: 4

**Lecturer**: Nashwan Maslah Fares

**Description**:

**Course Overview**

The computer skills consist of seven modules these include:

Module 1 Concepts of Information and Communication Technology (ICT) that gives the main concepts of ICT at a general level, and to know about the different parts of a computer.

Module 2 Using the Computer and Managing Files, it gives the ability to demonstrate competence in running and managing a personal computer.

Module 3 Word Processing, it gives the ability to use a word processing application to create everyday letters and documents.

Module 4 Spread sheets, it gives the understanding to the concept of spread sheets and demonstrates an ability to use a spread sheet to produce accurate work outputs.

Module 5 Using Databases, it gives the understanding to the concept of a database and demonstrates competence in using a database.

Module 6 Presentation, it gives the ability to demonstrate competence in using presentation software.

Module 7 Web Browsing and Communication is divided into two sections. The first section, Web Browsing, it gives the knowing about the Internet and to use a web browsing application.

All modules presents all the necessary computer skills an individual may need in a straightforward and intelligent way. It demystifies computers and is ideal for those wishing to develop their skills and confidence in the subject whilst working at their own pace.

This course covers the fundamental understanding of computer functions and how to navigate the desktop. Computer Skills implies that one is comfortable with using computer software and other applications that are related to the computer such as Microsoft Word, PowerPoint, Excel and Access. Also it covers the hardware components that the desktop content.

**Course
objective:**

This course aims to give the students the main concepts of computer as general term, computer hardware with all physical parts, computer software with deferent types of software that the computer used, interaction with computer programs and managing files, understanding and using the capabilities of Microsoft Office applications 2010 (Microsoft Word, Excel, PowerPoint and Access), connection to the internet and the work and definition of cloud computing.

By the end of the course, the student will be able to understand the computer with all physical components, how to manage the files. They also will be able to produce a wide range of word-processed documents, prepare illustrated slides to aid talks, store and search for information systematically, and gain confidence handling simple numbers or charts. They will also learn how to connect to the Internet and understand the significant of cloud computing.

**Student
learning outcome:**

The student shall learn to:

Understand what hardware is and know about peripheral devices. Understand what software and operating system software is. Understand what Information and Communication Technology (ICT) is.

Use the computer effectively and work effectively in a graphical user environment. Know about the main concepts of file management and be able to efficiently organize files and folders so that they are easy to identify and find.

Work with MS documents such that create, edit, apply different formats, Insert tables, insert images, drawn objects, adjust the page settings, check and correct spelling, prepare them for mail merge operations and save them in different file formats.

Work with MS spread sheets such that select, sort, copy, move and delete data. Edit rows and columns. Copy, move, delete and rename worksheets. Create mathematical and logical formulas. Format numbers and text. Choose, create and format charts. Adjust their page settings and check and correct them and save them in different file formats.

Work with MS database and understand how it is organized and operated. Create a simple database, create tables, define and modify fields and their properties; enter and edit data in a table. Run queries to retrieve specific information from a database. Create a form to enter, modify and delete records and data in records.

Work with MS presentations and save them in different file formats. Choose different slide layouts and designs. Enter, edit, format text and applying unique titles to slides. Choose, create and format charts. Insert, edit pictures or images and drawn objects. Apply animation and transition effects to presentations.

Understand what the Internet is and common terms associated with it. Search for information. Save web pages and download files from the web.

**The
Topics:**

**Introduction to Computer Skills.**

o Explain the course book (seven modules) in general and what they consist of. What are the student obligations?

**General
concepts of Information Technology (IT).**

o What is IT, what it is consisting of, how can be IT, Why IT?

**Hardware
(part1).**

o What are computer components? What are CPU, RAM and ROM.? How memory is measured, File size.

**Hardware
(part2).**

o Input devices, Output devices, Input/output devices, Storage devices and Input/output ports

**Software
(part 1)**

o Software types(operating system, applications and utilities )

**Software
(part 2)**

o What is BIOS, why computer need it, how does it operate.

**Networks**

o Understanding Local area network and Wide area network. Understand the Term Client/Server and Peer-to-peer.

**Intranet/Extranet**

o What an Intranet Is, what an Extranet Is.

**The Internet**

o What is the Internet, what it is used for.

**Use of the
Telephone Network in Computing**

o What are WWW, PSTN and ISDN, ADSL

**Digital vs.
Analogue**

o What digital data or signal is. What analogue data or signal is

**Modem**

o What is modem, Baud rate and Transfer rate

**The Use of
ICT in Everyday Life**

o Computers in business, in government, in healthcare and in education

**Teleworking**

o What is Teleworking, why Teleworking. Advantages and Disadvantages of Teleworking

**Legal issues
and security**

o Copyright, Personal privacy and Data security

**Backup**

o Backing up data, why backing up data, cloud computing.

**Computer
viruses**

o Viruses, malware, computer worms, malicious software. Protection against viruses

**Course Reading List and References :**

o ICDL Books version 5.0 (Blackrock Education Centre)

o ICDL Books version 5.0 (Aston Swann Education Courseware)

o Europees Computer Rijbewijs (ECDL) Books version 4.0

o http://icdl.uod.ac/

o www.gcflearnfree.org

o www.instruct-online.nl

o http://www.computerhope.com/

**Course Code**: C13

**Units**: 4

**Lecturer**: Dilveen Michaeel Ahmed

**Description**:

**Course
overview:**

Students will develop skills in the initial content of both differential and integral
calculus including finding limits of functions, exposure to the epsilon-delta
process and continuity, finding derivatives and integrals of polynomial,
rational, radical, trigonometric, inverse trigonometric, exponential, and
logarithmic functions, inverse functions, the chain rule, and integration by
substitution. Applications dealing with optimization, related rates, Newton's
method, L'Hopital's rule, and motion problems and properties of the graphs of
functions are covered. Theorems include the mean-value theorem for derivatives
and integrals, the squeeze theorem and the fundamental theorems of calculus.
Implicit differentiation, differentials and summations of area will be used
when appropriate.

**Course objective:**

o Student will analyse and evaluate limits (including infinite limits) graphically, numerically, and analytically.

o Student will analyses functions for continuity.

**The Derivative: **

o Student will evaluate derivatives by the limit process.

o Student will memorize basic differentiation rules.

o Student will apply basic differentiation rules.

o Student will apply the product, quotient, and chain rules to find derivatives.

o Student will apply differentiation techniques to find tangent lines, normal lines, and rates of change.

o Student will evaluate derivatives by implicit differentiation.

o Student will apply differentiation techniques to evaluate higher order derivatives.

**Applications of
Differentiation: **

o Student will analyse and apply differentiation techniques to related rate problems and approximation theory (Newton’s Method).

o Student will apply differentiation techniques to identify (relative and absolute) extreme.

o Student will apply Rolle’s Theorem and Mean Value Theorem.

o Student will identify relative extreme by using the first and second derivative tests.

o Student will apply differentiation techniques to optimization problems.

o Student will apply differentiation techniques to find intervals of in/decreasing and concavity.

o Student will demonstrate knowledge of curve sketwching.

**Integration: **

o Student will memorize basic integration rules.

o Student will demonstrate basic integration techniques (including integration by substitution, inverse trigonometric functions, and logarithmic functions).

o Student will describe, find, and apply differentials.

o Student will use the Fundamental Theorem of Calculus parts one and two.

o Student will interpret and apply integration as area through Riemann Sums and definite integrals.

o Student will analyse hyperbolic functions and apply differentiation and integration techniques.

**Student learning
outcome:**

Upon completion of this course a student will be able to:

o Describe, graph, compare, and contrast polynomial, rational, algebraic, trigonometric, and exponential functions and their inverses.

o Define and interpret the concepts of limit, continuity, and derivative of a function verbally, algebraically, and graphically.

o Evaluate limits of functions.

o Interpret the derivative at a number in multiple ways, including slope of a tangent line and instantaneous rate of change.

o Calculate derivatives of a wide variety of functions obtained by applying transformations, algebraic operations, and compositions to the families of functions mentioned in outcome A.

**Course Reading List
and References********:**

1- Calculus
5^{th} Edition, by: M. L. Bitinger.

2- Thomas’ Calculus
11^{th} Edition, 2005.

3- Calculus
5^{th }Edition (International
Student Edition), by: James Stewart, 2003.

4- Brief
Calculus and its Application 9^{th} Edition, by: L. J. Goldstin.

**The Topics:**

**Chapter One: Preliminary and Functions:**

1- Number, Intervals, Inequalities and Absolute Values.

2- The Cartesian plane.

3- Function and their graphs.

4- The trigonometric function.

**Chapter Two: Limits and continuity **

1- The limit of a function.

2- The precise definition of a limit.

3- Properties of limits.

4- Continuity.

**Chapter Three: Differentiation **

1. The derivative.

2. Differentiation formulas.

3. Derivatives of trigonometric function.

4. Applications.

**Chapter Four: Inverse Function**

1. Exponential function.

2. Logarithmic function.

3. Inverse trigonometric function.

**Chapter Five: Integration **

1. Techniques of integration.

2. Application of integration.

**Course Code**: C15

**Units**: 4

**Lecturer**: Khalid A. Tawfiq

**Description**:

**Syllabus of Module:**

** Week1: Computer Science
Department basics introduction:**

Lecture 1: Welcoming Students

o Introducing Lecturers

o Introducing Module

o University Roles

o Classroom Behaviors

o Student self introduction

**Week2: Project Principle &
Management **

Lecture 2: Teamwork

o How to build a team of people to manage and succeed a task?

o Building A team of Five Students for future work

**Week3: Project Principle &
Management**

Lecture 3:Personal profile Development

o Creating Curriculum vitae (CV)

o Covering Letter

o Background Check

**Week4: Project Management &
Principle**

Lecture 4: Local Problem Statements

o Discussing Project Problem Statement

o Case Study

**Week 5: Project Management &
Principle**

Lecture 5: Projects Work plan

o How to Manage Project duration

o Creating Project work plan Chart

**Week 6: Project Management & Principle**

Lecture 6:Software System

o Systems Descriptions.

o Project Planning

o Feasibility Study

o The Triangle of Forces

o Exercise

**Week 7: How to write a scientific report.**

**Week 8: Presentation as group &Individual presentation**

**Course Code**: CE1

**Units**: 5

**Description**:

No available.

**Course Code**: CK1

**Units**: 4

**Description**:

No available