Kadir Has Üniversitesi Ana Sayfa

Akademik Birimler

Temel Bilgisayar Mühendisliği Dersleri

TEMEL BİLGİSAYAR MÜHENDİSLİĞİ DERSLERİ

CE-102 Introduction to Computing
Type of Course: Lecture
Year: 1
Semester: Spring
Credits: 3 (3+0+0)
ECTS: 6
Instructor:Asst. Prof. Atilla Özmen

Objective and Contents: Problem solving, algorithm design and analysis, critical thinking, program implementation of problem definitions and software specifications, basic software debugging.Basic computer systems, the components of typical microcomputer systems, software, hardware, operating system; problem solving, formalization of a solution, computer programs; assembly language, compiler, linker, flowchart, pseudocode; C++ programming language, input and output operations, variables, declaration of variables, arithmetic and data types, conditional statements; increment and decrement operators; advanced assignment operators, loops, labels and goto, bitwise operators.

Recommended Reading:
C++ How to Program, Fourth Edition, H.M. Deitel, P.J.Deitel, Prentice Hall.Programming with C++, J. R. Hubbard, Schaum' s Outline Series, McGraw Hill.A Step-by-Step Guide to C Programming, Jean Paul Corriveau, International Edition, Prentice Hall International.

Teaching Methods: 
Computer Usage:The students will use C++ programming language.

Assessment Tools: Two midterm exams, final exam

Instruction Language: English

CE-134 Logic Circuits
Type of Course: Lecture
Year: 1
Semester: Spring
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Staff

Objective and Contents: This course aims to introduce the Boolean algebra, and basic analysis and synthesis techniques for logic circuits. The students taking this course will acquire the background necessary for the analysis and design of digital electronic circuits. They will be able to analyze combinational and sequential logic circuits at the gate level, to simplify logic functions and to synthesize them using logic gates and/or small or medium scale integrated circuits.Basic concept in logic design; number systems and data representation; coding; Boolean algebra and functions; Analysis, design and minimization of combinational circuits; Karnaugh map; design using MSI chips; introduction of sequential circuits; types of the flip-flops, counters and shift registers; analysis and synthesis of sequential circuits.

Recommended Reading:
Morris M. Mano (2001). Digital Design 2nd Ed., Prentice-Hall.

Teaching Methods:
Problem sessions: About a quarter of the lectures are dedicated to solving example problems.

Assessment Tools: Homeworks, two midterm exams, final exam

Instruction Language: English

CE-239 Computer Organization &Architecture
Type of Course: Lecture
Year: 2
Semester: Fall
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Asst. Prof. Osman Kaan Erol

Objective and Contents: To introduce the concepts of the computer as a hierarchical system. Each component is described in terms of its internal structure. Universal Combinational Circuits, Programmable Logic Devices, Sample and Hold, analog-to digital converters, digital-to-analog converters, analysis of sequential circuits, Mealy and Moore models of sequential circuits, state reduction and state assignments, registers, computer memory system, random access memory, memory cells, FIFO queues.

Recommended Reading:
M.Morris Mano (1999). Digital Design, 3rd Ed., Prentice-Hall.
M.Morris Mano (1999). Computer System Architecture, 3rd Ed., Prentice-Hall.

Teaching Methods:
Project: Every student should submit solutions of five questions related to computer organization.

Assessment Tools: Midterm exam, term project, final exam

Instruction Language: English

 

CE-232 Microprocessors and Microcomputers
Type of Course: Lecture
Year: 2
Semester: Spring
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Asst. Prof. Taner Arsan

Objective and Contents: To introduce the concepts of the microprocessors and its architecture. Each component is described in terms of its internal structure. History of microprocessors and computers, general structure of microprocessors-von Neumann architecture, memory devices, address decoding and design of micoprocessor systems, Intel 8085A Architecture and hardware specifications, CPU design methods, Microchip PIC microcontroller architectures, program development with PIC.
Recommended Reading:
Barry B.Brey (1997). The Intel Microprocessors: 8086/8088, 80186/80188 Pentium and Pentium Pro Processors Architecture, Programming and Interfacing, 4th Ed., Prentice-Hall.
John B. Peatman (1997). Design with PIC Microcontrollers, Prentice Hall.

Teaching Methods:

Assessment Tools: Two midterm exams, final exam

Instruction Language: English

 

CE-233 Electrical and Logic Circuit Laboratory
Type of Course: Laboratory
Year: 2
Semester: Fall
Credits: 1 (0+0+2)
ECTS: 2
Instructor: Dr. Metin Şengül

Objective and Contents: To provide a solid understanding of voltage and current and their measurements, to build up series and parallel electrical circuits and to make some measurements by using multimeter and oscilloscope (resistance, voltage, current), to obtain the equivalent simple circuits (Thevenin and Norton circuits); also to provide the ability of logic circuit design by using logic gates and multiplexer-demultiplexer. Voltage and current; Ohm' s law; Kirchhoff' s laws; series and parallel circuits; Thevenin and Norton circuits; maximum power transfer; resistance bridge; logic gates; combinational circuits; multiplexer and demultiplexer.
Recommended Reading:
Experiment sheets (prepared by Lecturer Mr. Metin Şengül)

Teaching Methods:
Laboratory: Teams of students (3-4 students per team) will perform the experiments and prepare an experiment report containing measurements, calculations and comments.

Assessment Tools: Attendance, experiment reports, midterm exam, final exam

Instruction Language: English

 

CE-234 Microcomputers Laboratory
Type of Course: Laboratory
Year: 2
Semester: Spring
Credits: 1(0+0+2)
ECTS: 2
Instructor: Dr. Habib Şenol

Objective and Contents: This laboratory course uses microchip PIC 16F877 microprocessor based PIC EXPERT and PICLAB experimental boards to teach students how to use assembly language to solve various problems. The students will learn how to use a PC by writing programs, to assemble and download them on the PIC EXPERT board where they can verify the proper functioning of their algorithm, by observing the program outcomes on the PIC-LAB board. They will also learn how to interface and program the board to function with different interface modules. Introduction to PIC 16F877 assembly language, PIC 16F877 assembly language instructions & registers overview, program flow control structures(if then else, loop structures), macro instruction, look-up table implementation, analog to digital conversion.

Recommended Reading:
John Peatman, Design with PIC Microcontrollers, Prentice-Hall.

Teaching Methods:
Computer Usage: The students will use PC to write their PIC 16F877 assembly programs.
Experimental Boards:
PIC EXPERT and PICLAB experimental boards.

Assessment Tools: Homeworks, two midterm exams, final exam

Instruction Language: English

 

CE-241 Programming Languages
Type of Course: Lecture + Laboratory
Year: 2
Semester: Fall
ECTS: 8
Credits: 4 (3+0+2)
Instructor: Asst. Prof. Atilla Özmen

Objective and Contents: Analyzing programming language design issues related to data types, expressions, assignment statements and control structures, develop computer code with functions, analyze algorithms or computer code for correctness, identify and correct software faults, analyzing parameter passing methods and classes, analyzing pointers and string, know the relationship between pointers and arrays. Functions, recursive functions, void functions, arguments by value, inline functions, default arguments to a function, function overloading, arrays, 2-D arrays, pointers, arguments by reference, accessing arrays with pointers, passing arrays to functions, strings, accessing strings with pointers, classes.

Recommended Reading:
C++ How to Program, Fourth Edition, H.M. Deitel, P.J.Deitel, Prentice Hall.
Programming with C++, J. R. Hubbard, Schaum' s Outline Series, McGraw Hill.
A Step-by-Step Guide to C Programming, Jean Paul Corriveau, International Edition, Prentice Hall International.

Teaching Methods:
Computer Usage: The students will use C++ programming language.
Laboratoty : Two hours per week, hands-on exercises in the computer laboratory.

Assessment Tools: Two midterm exams, computer assignments, final exam

Instruction Language: English

 

CE-242 Data Structures and Algorithms
Type of Course: Lecture + Laboratory
Year: 2
Semester: Spring
ECTS: 8
Credits: 4 (3+0+2)
Instructor: Dr. Kaya Sarıcalı

Objective and Contents: To teach how data is arranged in computer' s memory and how computer programs manipulate the stored data. Students will have an understanding of data arrangement and algorithmic approach to the manipulation of data. Java Programming, Object-Oriented Design, Arrays and the Vector class, Recursion, Analysis of Algorithms, Sorting, Collections, Stacks, Queues, Lists, Binary Trees, Heaps and Priority Queues, Graphs.

Recommended Reading:
Data Structures and Algorithms in Java, 2nd Ed., Robert Lafore, SAMS, 2003.
Data Structures and Algorithms in Java, 2nd Ed., Micheal T. Goodrich and Roberto Tamassia, Wiley, 2001.

Teaching Methods:
Laboratory: The students will run demonstration programs and workshop applets and develope computer programs for using data structures and algorithms.
Computer Usage: The students will install and setup Java Software Development Kit to compile and run programs that will be provided to them as support material.
Projects/Teamwork: Students, either individually or in a team of 2, will submit 3 term assignments, modelling data structures and their usage, coded in Java.

Assessment Tools: Assignments, term exams, final exam

Instruction Language: English

 

CE-261 Fundamentals of Electronics
Type of Course: Lecture
Year: 2
Semester: Fall
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Dr. Baran Tander

Objective and Contents: To teach students the basics of circuits, electronic circuit components, circuit analysis with reference to actual applications and impact in modern industry, and to instruct the computer engineer into the concepts, techniques and language of analog electronic circuits.Circuit variables and elements; simple resistive circuits; circuit analysis methods; operational amplifiers; AC circuits, semiconductors; diodes, transistors and applications.

Recommended Reading:
W.H.Hayt, J.E.Kimmerley and S.M. Durbin (2002). Engineering Circuit Analysis 6th Ed. McGraw-Hill.
A.R.Hambley (2000). Electronics 2nd Ed., Prentice-Hall, 2000.

Teaching Methods:
Theoretical lecture
Problem sessions

Assessment Tools: Two midterm exams, homework, final exam.

Instruction Language: English

 

CE-341 Operating Systems
Type of Course: Lecture
Year: 3
Semester: Fall
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Ataman Yıldırım

Objective and Contents: The course presents the concepts, design, structure and mechanisms of general operating systems. Different kinds of computer systems are analyzed from single user to multi-user, from primitive ones to contemporary ones. Future directions in operating systems are introduced. Consequently, the course provides the design trade-offs between hardware, software and all kind of resources for the student. Operating System, history of OS, open systems, general mechanisms, interrupt, registers, buffering, semaphor, deadlock, resource management, process management, memory management, device management, information management, UNIX; kernel, shell.

Recommended Reading:
A. Yıldırım, Operating Systems, lecture notes.
A. Yıldırım, UNIX Operating System, lecture notes.
S.E. Madnick and J.J. Donovan, Operating Systems.
W. Stallings, Operating Systems.
A.S.Tanenbaum and A.S. Woodhool, Operating Systems.

Teaching Methods:
Classroom Discussion
Projects/Teamwork: Teams of students (2-3 students per team) prepares papers on virtual memory or process management or LINUX.

Assessment Tools: Homework, two-three quizes, two midterm exams, term project, final exam

Instruction Language: English

 

CE-343 Object Oriented Programming Languages
Type of Course: Lecture
Year: 3
Semester: Fall
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Dr. Kaya Sarıcalı

Objective and Contents: To teach object oriented approach for the computer program development using Java language. Students will have an understanding of programming logic, object oriented approach and Java language.Programming and Software Design, Object Orientation and Java, IDE, Java Language Basics, Introduction to Applets, Data Types in Java, Strings and Characters, Classes and Objects, Methods, Control Structures, GUI Components, Arrays, Inheritance, Exception Handling, Database Connectivity.

Recommended Reading:
Ralph Morelli and Ralph Walde, Java, Java, Java Object-Oriented Problem Solving, 3rd Ed., Pearson Prentice Hall, 2006.
Deitel and Deitel, Java: How To Program 5 Ed., Prentice Hall, 2003.

Teaching Methods:
Computer Usage: The students must install Java Development Kit (JDK 1.5.x) and NetBeans IDE (5.x) to compile and run programs which will be provided to them as part of the course support material.
Project: Students, either individually or in a team of 2, will submit term assignments, modelling real life situations, objects and their behaviours, involving object-oriented design, GUI and database connectivity.

Assessment Tools: Midterm exam, term projects, final exam.

Instruction Language: English

 

CE-344 Database Management Systems
Type of Course: Lecture + Laboratory
Year: 3
Semester: Spring
Credits: 4 (3+0+2)
ECTS: 7
Instructor: Asst. Prof. Arif Selçuk Öğrenci

Objective and Contents: To provide a solid understanding of RDBMS (Relational Database Management Systems). The students will be able to carry out analysis, design, and implementation in the development of a RDBMS. Data modeling; E-R diagrams; conceptual, logical and physical database design; constraint modeling; database management systems; database architectures; Oracle as a relational database management system; SQL: selection, DML, DCL DDL operations; PL/SQL; construction of program units using PL/SQL; integration of PL/SQL units with ORACLE.

Recommended Reading:
Introduction to Oracle: SQL, Oracle course book.
Develop PL/SQL Program Units, Oracle course book.
T. M. Connolly and C. E. Begg. Database systems: a practical approach to design, implementation, and management.
C.J. Date, An introduction to database systems.
M. Abbey, I. Abramson and M. J. Corey, Oracle8i: A Beginner's Guide.

Teaching Methods:
Laboratory: Two hours per week, hands-on exercises in the computer laboratory. Each student will carry out the solution of end-of-chapter practices and additional practices supplied by the instructor.
Computer Usage: The students will use Oracle Server, Oracle (i)SQL Plus, APEX environments for exercising SQL and PL/SQL.
Projects/Teamwork: Teams of students (3-4 students per team) will compete for designing and implementing the ' best' database management system satisfiying the requirements/constraints supplied by the instructor (or by a real customer) for a real life business case.

Assessment Tools: Homeworks, two midterms, term project, final exam.

Instruction Language: English

 

CE-349 Formal Languages and Automata Theory
Type of Course: Lecture
Year: 3
Semester: Fall
Credits: 3 (3+0+0)
ECTS: 6
Instructor: Dr. Habib Şenol

Objective and Contents: This course includes knowledge of basic theoretical results of computability, and an understanding of various kinds of abstract machines and what problems they solve. Moreover, it is an introduction to theory of computation providing a perspective on computer science as a discipline.Basic mathematical representation techniques; regular expressions and regular languages; finite state machines with output, deterministic finite automata, non-deterministic finite automata ; grammar definitions; context-free languages; push-down automata

Recommended Reading:
Z. Altan (2001). Formal Diller ve Soyut Makineler, Istanbul University Publications.
J.E. Hopcroft and J.D. Ullman, Introduction To Automata Theory, Addison-Wesley.
http://www.cs.duke.edu/~rodger/tools/jflap/

Teaching Methods:

Assessment Tools: Two midterm exams, homework , attendance, final exam
I
nstruction Language
: English

 

CE-351 Computer Networks
Type of Course: Lecture + Laboratory
Year: 3
Semester: Fall
ECTS: 7
Credits: 4 (3+0+2)
Instructor: Asst. Prof. Taner Arsan

Objective and Contents: Teach students the skills needed to design, build, and maintain small to medium-size networks. The course provides them with the opportunity to enter the workforce and/or further their education and training in the computer networking field.The basics of computing, the OSI model, local area networks, layer 1: Electronics and signals, media, connections, and collisions; data link layer: Concepts and technologies, basic network design and documentation issues, structured cabling project; network layer: Routing and addressing, the routing protocols; Transport layer: Understand TCP and UDP; the basics of the session layer; the basics of the presentation layer; the basics of the application layer.

Recommended Reading:
Cisco Networking Academy Online Study Materials

Teaching Methods:
Laboratory :
Hands-on experience with state of the art networking equipment in performing the lab experiments.

Assessment Tools: Homework, on-line chapter exams, on-line final exam, written final exam

Instruction Language: English

 

CE-352 Network Engineering I
Type of Course: Lecture + Laboratory
Year: 3
Semester: Spring
Credits: 4 (3+0+2)
ECTS: 7
Instructor: Asst. Prof. Taner Arsan

Objective and Contents: To teach students the skills needed to make a router configuration using router Internetwork Operating System called IOS. This course provides them with the opportunity to enter the workforce and/or further their education and training in the computer networking field.Review of OSI model and LAN concepts, WANs and routers, router command-line interface, router components, router startup and setup; Router Configuration 1, IOS images; Router Configuration 2, The TCP/IP protocol suite; Layer 3 concepts: TCP/IP and the Internet layer, diagram the IP datagram, Internet Control Message Protocol (ICMP); how ARP works, IP addressing and subnetting; The role of DNS in router configurations, verifying address, assigning new subnet numbers to the topology, routing basics, why routing protocols are necessary. Distance-Vector routing, Link-State routing, the context of different routing protocols; routing protocols: Interior and exterior routing protocols, RIP, IGRP, challenge labs, troubleshooting the 5-Router Network.

Recommended Reading:
Cisco Networking Academy- Online Study Materials.

Teaching Methods:
Laboratory : Hands-on experience with state of the art networking equipment in performing the lab experiments.

Assessment Tools: Homework, on-line chapter exams, on-line final exam, written final exam

Instruction Language: English

 

CE-356 Object Oriented Software Engineering
Type of Course: Lecture
Year: 3
Semester: Spring
Credits: 3 (3+0+0)
ECTS: 6
Instructor:

Objective and Contents: Development methods and design techniques for software systems. Student will have an understanding of software engineering, modelling and design of software system, within the context of UML software development technology.  Software Engineering, Computer System Engineering, Software Project Planning, Requirements Engineering, Requirements Analysis, System Models, Software Prototyping, Software Design, Architectural Design, Function and Object Oriented Design.

Recommended Reading:
I. Sommerville (1998). Software Engineering 5th Ed., Addison Wesley.
Hans van Vliet (2000). Software Engineering 2nd Ed., Wiley.

Teaching Methods:
Computer Usage:
The student will use MS Project software for project planning and some other tools (such as MS Visio) for modelling and designing purposes.
Project:
Each student will submit a term project modelling a software system in object oriented approach which will document requirements, system models and the design architecture.

Assessment Tools: Midterm exam, term project, final exam
.
Instruction Language: English

 

CE 464 Distributed Software Design and Architecture
Type of Course: Lecture
Year: 4
Semester: Fall
Credits: 3 (3+0+0)
ECTS: 8
Instructor:

Objective and Contents: Current trends and paradigm shifts in software engineering; brief UML review; distributed software design principles; objects with finite state machines; designing real-time software systems; distributed software architectures; pattern-based design and architecture principles; component-based software design; enterprise Java beans, J2EE, COM and CORBA middleware environments; network protocols for distributed software development.

Recommended Reading:
Hans Van Vliet (2000). Software Engineering 2nd Ed., Wiley.

Teaching Methods:
Computer usage

Assessment Tools: Two midterm exams, final exam

Instruction Language: English