Computer Department
First Year | |||
Semester 1 | |||
Subject | Description | Code | Unit |
Algorithms Design | The course is designed to teach the students how they can use the instructions and words of programming languages to create ideas for programming and to connect this language (C++) to other languages they may be study in the future levels. | CSC21100 | 2 |
Logic Design I | The course will help students to analyze basic combinational logic circuits and write the Boolean output expression for any combinational logic circuit as well as studying the fundamentals of sequential logic devices such as Latch and Flip-Flop. In addition, this course will enable students to describe the difference between an Asynchronous and Synchronous Counter as well as to identify the basic forms of data movement in shift registers. | CSC21101 | 3 |
Discrete Structure I |
This course covers Sets and Statements, Symbolic Logic, and a Proof, Relations, Mathematical Induction, Trees and Graphs. | CSC21102 | 3 |
Computer Skills I |
This course is designed to teach the students the skills of computer theoretically and practically, including hardware and software (programs) so the students become more familiar to deal with computer network and internet plus the software packages. | CSC21100 | 3 |
Mathematics I | Calculus is the mathematics of motion and change. Where there is motion or growth, where variable forces are at work producing acceleration, calculus is the right mathematics to apply. Differential calculus dealt with the problem of calculating rates of change. It enabled people to define slopes of curves, to calculate the velocities and accelerations of moving bodies, to find the firing angle that gave a cannon its greatest range, and to predict the times when planets would be closest together or farthest apart. | MAT21100 | 3 |
Principle of Statistics | This course covers Types of statistics: Descriptive, Inferential Tabular and Graphical Methods: Summarizing qualitative data, Tabular methods: Frequency Distribution. Graphical Methods: Bar graphs, Pie Charts.S ummarizing quantitative data. Measures of Dispersion (Variability).Measures of location and dispersion for group data (classified data).Measures of Dispersion. | STA21100 | 2 |
Introductory English Language | Integrated syllabus, motivating topics, and clearly focused tasks combine with real understanding of what works in the classroom. | ENG51100 | 6 |
Kurdology | Studying the Kurdish people history according to the political, society and economic situations. Knowledge the history of the Kurdish language and the local dialogues, then comparing with other languages. Studying the Kurdish culture taking in account Kurdistan newspaper 1898-1902 . | KUR11100 | 2 |
First Year | |||
Semester 2 | |||
Subject | Description | Code | Unit |
Programming Language | The course is designed to teach the students how they can use the instructions and words of programming languages to create ideas for programming practically by applied the idea that study in fist course and found the errors.
|
CSC21200 | 4 |
Logic Design II | The course will help students to analyze basic combinational logic circuits and write the Boolean output expression for any combinational logic circuit as well as studying the fundamentals of sequential logic devices such as Latch and Flip-Flop. In addition, this course will enable students to describe the difference between an Asynchronous and Synchronous Counter as well as to identify the basic forms of data movement in shift registers. | CSC21101 | 3 |
Computer Skills II | The course is designed to teach the students the skills of computer practically, so the students become more familiar to deal with computer software and practice the Microsoft office 2003 and 2007 (Word, power point, Excel and Windows). | CSC21201 | 3 |
Mathematics II |
Integrals defined for functions, method of integral, area under a curve & between two different curves defined, double & triple integrals defined & matrices with determinants defined with some properties given.
|
MAT21201 | 3 |
Probability | Introduction to the Basic concepts of Probability consist of: Numerical Measure of the Likelihood of Occurrence, experiment, Sample Space and Accounting rules. Assigning probabilities to experimental outcomes will be described. In addition to those topics Such as: Basic relationship of probabilities, Conditional probability and probability distributions will be analysed. | CSC1204 | 2 |
Discrete Structure II | More Relations, Spanning Trees, Weighted Graphs, Weighted Spanning Trees, Algorithms for Minimum Total Weight ( MTWSpT ), and Distant Weight Spanning Trees ( MDWSpT ). Euler Circuit and Walks. | CSC21205 | 3 |
English for Computer Science I | The course will include the following sets of topics:What is a computer? History of Computers, Characteristics of computers, Computer Capabilities and limitations Hardware and Software, Revision, Kinds of computers, Mainframes, Microcomputers, computer components, Processors, CPU, ALU, and memory and their types, Revision. | CSC21206 | 3 |
Second Year | |||
Semester 1 | |||
Subject | Description | Code | Unit |
Computation Theory I | This course emphasizes theoretical models of computation and their analysis. The aim of analysis is to identify and prove the capabilities and limitations of particular models of computation. It is shown that there are problems that are unsolvable, that is, there are questions that cannot be answered by any model of computation. The course introduces some fundamental concepts in Types Of grammars (Chomsky Hierarchy) and automata theory and formal languages including grammar, finite automaton, regular expression, formal language. Not only do they form basic models of computation, they are also the foundation of many branches of computer science, e.g. compilers, software engineering, and Natural Language Processing. The properties of these models will be studied and various rigorous techniques for analyzing and comparing them will be discussed, by using both formalism and examples. | CSC22100 | 2 |
Database Systems I | This course aims at presenting the concept of Database Technology and its advantages. Throughout the course, students will be working with Database Design and Optimization activities and issues. | CSC22101 | 3 |
Matlab Programming | This course covers Starting MATLAB, MATLAB windows (Introduction to MATLAB environment), Working with MATLAB command window, Arithmetic operations with scalar,…..etc. Examples of MATLAB applications , Creating Arrays , Mathematical operations with arrays, Two dimensional plots, Programming in MATLAB, Built toolboxes using menu and GUI in MATLAB and more applications. | CSC22102 | 2 |
Object-Oriented Programming I | The course will cover Object Oriented Programming as well as programming by Java language. The course will give the student better understanding of Object Oriented structure and programming of the various functional modules. The course provides the basic knowledge necessary to understand the Object Oriented Programming and how we can using java to implement this technique. | CSC22103 | 3 |
Data Structures I | This course is designed to introduce students to advanced programming concepts. Data encapsulation and abstraction are emphasized throughout the development of static and dynamic data structures. Structures covered include stacks, queues, linked lists, trees, tables and graphs. Recursion as a programming tool is covered as well as searching and sorting techniques.
|
CSC22104 | 3 |
Advanced Mathematics | Complex Numbers: definition of a complex number, operations on complex numbers. Differential equations (DE): definition of first order differential equation. Solution of: Separable Variables DE, Homogeneous Coefficients, Non-Homogeneous Coefficients, Exact, and Non-Exact. Second Order Linear Homogeneous Constant Coefficients Differential Equation.Sequences: limits of a sequence, convergence of sequences, partial sums of sequences. Finite and infinite series, power series, convergence of series, sum of series.Polar Coordinates: Definition, Graphing in Polar Coordinates, Cartesian – Polar Transformation. | MAT22103 | 3 |
English for Computer Science II | The course will include the following sets of topics:What is a computer? History of Computers, Characteristics of computers, Computer Capabilities and limitations Hardware and Software, Revision, Kinds of computers, Mainframes, Microcomputers, computer components, Processors, CPU, ALU, and memory and their types, Revision. | CSC22106 | 2 |
Second Year | |||
Semester 2 | |||
Subject | Description | Code | Unit |
Computation Theory II | This course is a complement for the first semester in a Computation theory. The aim of analysis is to identify and prove the capabilities and limitations of particular models of computation. It is shown that there are problems that are unsolvable, that is, there are questions that cannot be answered by any model of computation.Limits on computation in the context of resource bounds are also investigated. Theoretical techniques are developed to show that one model of computation is equivalent in power to another or that it is different in power from another. Models of computation that are covered include finite automata, pushdown automata, and Turing machines. Some complexity theory is covered as well.The course introduces some fundamental concepts for Chomsky Normal Form CNF, Griebach Normal Form GNF, Pushdown Automata PDA, and Turing Machine). Not only do they form basic models of computation, they are also the foundation of many branches of computer science, e.g. compilers, software engineering, and Natural Language Processing. The properties of these models will be studied and various rigorous techniques for analyzing and comparing them will be discussed, by using both formalism and examples. | CSC22200 | 2 |
Database Systems II | This course aims at presenting Advanced Normalization and Database manipulation techniques using Structured Query Language SQL. | CSC22201 | 3 |
Microprocessor & Assembly Language |
This course is a critical introduction to the basic concepts in microprocessor structure and the behaviour of all important parts and explain the functional modules of each part , also the course will cover microprocessor architecture as well as the design, and also the course explain the Assembly language rules and define all symbols that can be used and how they can be combined and how the students write symbolic programs for basic computer.
|
CSC22202 | 4 |
Object Oriented Programming II | This course will cover the advance in Object Oriented Programming as well as programming by Java language. The course will give the student better understanding of Classes & objects structure and programming of the various functional modules. The course provides the advance knowledge necessary to understand the Object Oriented Programming and how we can using java to implement this technique. | CSC22203 | 3 |
Data Structures II | This course is designed to introduce students to advanced programming concepts. Data encapsulation and abstraction are emphasized throughout the development of static and dynamic data structures. Structures covered include stacks, queues, linked lists, trees, tables and graphs. Recursion as a programming tool is covered as well as searching and sorting techniques. | CSC22204 | 3 |
Numerical Analysis |
Introduction to Interpolation Differences and Divided differences. Lagrangeand Newton formula. Numerical Integration Trapezoidal, Mid point, and Simpson’s rules. Romberg rule. Gauss quadrature. Solution of Non-Linear Equation : The fixed point method , Newton-Raphson Method. Aitken’s Acceleration of convergence formula. Solution Of Linear System Of Equations Gauss Elimination Method, Jacobi’s Method, Gauss-Seidel method. Successive Over Relaxation Method. |
MAT22204 | 3 |
Third Year | |||
Semester 1 | |||
Subject | Description | Code | Unit |
Systems Analysis | This course deals with all steps and methods necessary for designing systems. The students can be able to follow these steps in order to design a small systems. All methods are used to design business systems. Topics include: Introduction to systems analysis , system design tools , analysis phase, design phase , implementation phase ,maintenance phase , input and output designs , system evaluation and testing . | CSC23100 | 2 |
Logic Programming | The course consists of taught material and practical work. The taught material introduces the fundamentals of the Prolog programming language. Practical work consists of programming exercises in Prolog. Early exercises are designed to develop a core understanding of programming in Prolog, especially: the importance of unification in the understanding of Prolog; the nature of search in Prolog and alternative search strategies; common recursive program structures, especially for list processing; design of Prolog programs. Later exercises are designed to develop skills in applying Prolog in practical situations. | CSC23101 | 3 |
Compiler I | This module is overview of the translation process, the constituent parts of a compiler, and the concepts of porting and bootstrapping compilers. Algorithms for compiler design cover the various aspects of designing a language translator in depth. | CSC23102 | 3 |
Computer Architecture |
This course is a critical introduction to the basic concepts in computer structure and the behaviour of all important parts and explain the functional modules of the digital computer , also the course will cover computer architecture as well as computer organization and design . |
CSC23103 | 3 |
Computer Graphics I | This subject will guide the students through all aspects of Computer Graphics, including Basic principles of vector and pixel graphics, Drawing lines and curves, Areas, text and colors. | CSC23104 | 3 |
Visual Programming I | This course introduces the student to object oriented programming techniques in a Windows environment. The fundamentals of event driven programming are covered using the Rapid Application Development tool Visual Basic .NET (VB.NET). Planning, programming and debugging VB.NET applications using modern programming techniques and practicing good graphical user interface design are emphasized. | CSC23105 | 3 |
Third Year | |||
Semester 2 | |||
Subject | Description | Code | Unit |
Software Engineering | This course deals with al concepts of designing in software engineering . This course includes a background steps of developing a high quality products and enables student to work as a team in order to produce such systems . This course includes the following topics :Software Engineering Definitions , Software Process , System modelling , Critical Systems , Software Process Models , Software Validation , Project Management , Software Requirements
|
CSC23200 | 2 |
Artificial Intelligence | The purpose of this course is to give students an understanding of Artificial Intelligence methodologies, techniques, tools and results. Students will use at least one AI-language (Prolog). Students will learn the theoretical and conceptual components of this discipline and firm up their understanding by using AI and Expert System tools in home assignments. Interactions between Artificial Intelligence and other disciplines will be explored. | CSC23201 | 3 |
Compiler II |
This module is an overview of the parsing process, error handling, and symbol table management. Advanced issues such as Algorithms for memory management cover the various aspects of designing a language translator deeply. |
CSC23202 | 3 |
Parallel Processing | This course is a critical introduction to the basic concepts in the parallel processing and the basic knowledge and the principles of the parallel processing and the properties and the theory of parallel processing and better understanding of the basic topics :areas of parallel processing. | CSC23203 | 2 |
Computer Graphics II | This subject will guide the students through all aspects of Computer Graphics, including Advanced principles of 3D graphics, shadows, and 3D texture. | CSC23204 | 3 |
Visual programming II |
This course introduces the student to object oriented programming techniques in a Windows environment. The fundamentals of event driven programming are covered using the Rapid Application Development tool Visual Basic .NET (VB.NET). Planning, programming and debugging VB.NET applications using modern programming techniques and practicing good graphical user interface design are emphasized. | 3 | |
Operations Research |
Concepts covered in this course include Linear Programming, Artificial Variable Technique, Dual Problem, Transportation problems, Network analysis, Critical Path Method ( C.P.M. (PERT) Computations, Game Theory, Queuing Theory. | CSC23206 | 3 |
Research Methodology |
This topics includes the method of researching in different fields and how to get the results using lab, websites, papers, and books.also includes how to write your report, in sequence of introduction, devices, results, conclusions and discussion , future work. |
CSC23207 |
1 |
Advance Database | This topics includes :Advanced SQL, Remote Database Systems, Database
Servers and Distributed Database Systems |
CSC23208 | 3 |
Fourth Year | |||
Semester 1 | |||
Subject | Description | Code | Unit |
Computer Networks I |
This course will enhance the students’ knowledge on computer network. The students will be taught with the various possible techniques to understand the modern networks for wired and wireless services. |
CSC24100 | 3 |
Multimedia |
This course covers introduction to multimedia, multimedia system properties, Multi-media related technology, Multimedia Storage CD and CD-ROM technology, multimedia components such as Digital image concepts, types, Colors, image compression, GIF and JPEG – formats and other image file formats in internet , Basic Sound Concepts (Basic Concept Of Audio, Computer representation of sound ( sampling rate, quantization) and video Fundamentals. Also, in the LAB we introduce MM in visual basic programming (Audio and Video), and some flash applications. Accessing the websites using VB- programming, Flash fundamentals and some applications. |
CSC24101
|
3 |
Operating systems I |
This course deals with all concepts of operating systems especially in time-sharing systems and multiprogramming systems . In order to understand these concepts , the students must have a background information in my previous subjects such architecture and logic design. The important topics are related to advanced techniques and strategies of operating system programs including process concepts ,memory management ,real storage ,virtual storage and deadlock . |
CSC24102 |
3 |
Information Security I |
This course introduces the concepts and issues related to securing information systems and the development of policies to implement information security controls. Topics include an overview of computer security, access control, security policies, cryptography, key management,authentication, malicious logic, intrusion detection, network security, system security, and program security. |
CSC24103 | 3 |
Special Topics I(Web Development) | The topics are changes every semester. This course aims at developing the students’ skills in Web programming. The course presents the basic concepts of the Web and the major activities of Web Development. | CSC24104 | 2 |
Graduation Project I |
This topic belongs to the 4th grade students studying computer science. it covers many topics in computer science applications such as designing websites, designing and implementing databases, studying local area networks , digital image processing toolboxes, expert system , artificial intelligence ,using different computer programming languages , and others . |
CSC 4105 | 2 |
Fourth Year | |||
Semester 2 | |||
Subject | Description | Code | Unit |
ComputerNetworks II | This course will enhance the students’ knowledge on computer network. The students will be taught with the various possible techniques to understand the modern networks for wired and wireless services. |
CSC24200
|
3 |
Image Processing | This course covers the following topics : what is Digital Image Processing?, Examples of fields that use Digital Image Processing, The Elements of Digital Image Processing. Digital Image Fundamentals: Image Sensing and Acquisition , Image Sampling and Quantization ,Representing Digital Images , image types, Image Enhancement in Spatial and frequency Domains . Image Format Operation: compression, segmentation , transformation. And Color Image Processing.all these items can be programmed using MATLAB in our lab. | CSC2401 | 3 |
Operating Systems II | This the second part of the operating system . In this course ,the students will understand more advanced concepts about operating systems . For this reason , the students must relate all topics in the first course with these topics in second course . Topics includes , processor scheduling , concurrent programming , disk management an security in operating systems. | CSC24202 | 3 |
Information SecurityII |
This course introduces the concepts and issues related to securing information systems and the development of policies to implement information security controls. Topics include an overview of computer security, access control, security policies, cryptography, key management,authentication, malicious logic, intrusion detection, network security, system security, and program security.
|
CSC24203 | 3 |
Special Topics II (Intelligence applications ) | This course aims at developing the students’ skills in intelligence applications. The course presents the basic concepts of the intelligence systems and the major activities of these systems. | CSC24204 | 2 |
Graduation Project II |
This topic belongs to the 4th grade students studying computer science. It covers many topics in computer science applications such as designing websites, designing and implementing databases, studying local area networks , digital image processing toolboxes, expert system , artificial intelligence ,using different computer programming languages , and others.
|
CSC24205 | 2 |