Undergraduate Education Program | Computer Engineering | Hasan Kalyoncu University

SOFTWARE ENGINEERING

Undergraduate Education Program

2021 Curriculum

1. Semester

2. Semester

3. Semester

4. Semester

5. Semester

6. Semester

7. Semester

8. Semester

Course Code Course Name C/E T A C E
FE400 Cooperative Engineering Education C 0 8 4 30
Semester Total Credit 4 30

2021 Curriculum

1. Semester

Course Code Course Name C/E T A C E
PHYS101 General Physics I C 3 2 4 6
TÜR101 Turkish Language and Literature I C 2 0 2 2
ENG101 Technical English I C 3 0 3 4
SENG123 Introduction to Software Engineering C 3 0 3 5
MATH111 Calculus I C 4 0 4 6
INT100 Introduction to University Life C 1 0 1 1
SENG101 Introduction to Software Programming C 3 2 4 6
Semester Total Credit 21 30

2. Semester

Course Code Course Name C/E T A C E
PHYS102  General Physics II C 3 2 4 6
TÜR102 Turkish Language and Literature II C 2 0 2 2
ENG102 Technical English II C 3 0 3 4
MATH112 Calculus II C 4 0 4 6
SENG102 Object Oriented Programming C 3 2 4 6
MATH114 Discrete Mathematics C 4 0 4 5
FE104 Social Responsibility Project C 0 2 0 1
Semester Total Credit 21 30

3. Semester

Course Code Course Name C/E T A C E
AİİT201 Atatürk’s Principles and History of Revolution I C 2 0 2 2
SENG201 Data Structures and Algorithms C 3 2 4 5
MATH331 Probability and Statistics C 3 0 3 5
SENG225 Software Requirement Analysis C 3 0 3 4
MATH211 Linear Algebra C 3 0 3 5
FE201 Engineering Ethics C 2 0 2 2
TE Technical Elective E 3 0 3 4
Free Elective I E 2 0 2 3
Semester Total Credit 22 30

4. Semester

Course Code Course Name C/E T A C E
AİİT202 Atatürk’s Principles and History of Revolution II C 2 0 2 2
MATH212 Differential Equations C 3 0 3 5
SENG202 Data Structures and Algorithms II C 3 2 4 5
SENG226 Software Design C 3 0 3 5
SENG228 Human Computer Interaction C 3 0 3 4
BIO202 Biology C 3 0 3 4
FE202 Occupation Health and Safety C 2 0 2 2
Free Elective II E 2 0 2 3
Semester Total Credit 20 30

5. Semester

Course Code Course Name C/E T A C E
SENG321 Introduction to Operating Systems C 3 0 3 5
SENG303 Full Stack Web Development C 3 2 4 6
SENG305 Software Architecture C 3 2 4 6
TE Multidisciplinary Integrated Project C 0 8 4 5
TE Technical Elective II E 3 0 3 4
TE Technical Elective III E 3 0 3 4
Semester Total Credit 21 30

6. Semester

Course Code Course Name C/E T A C E
SENG326 Developing Enterprise Software Systems C 3 2 4 6
SENG328 Multi-Platform Application Development C 3 2 4 6
SENG304 Introduction to DBMS C 3 0 3 4
SENG324 Software Validation and Verificatin E 3 0 3 5
SENG390 Senior Project I E 0 8 4 5
TE Technical Elective IV E 3 0 3 4
Semester Total Credit 21 30

7. Semester

Course Code Course Name C/E T A C E
SENG421 Info and Sosftware Security C 3 0 3 6
SENG433 Introduction to Artificial Intelligence C 3 0 3 5
SENG425 Software Project Management and Economics C 3 0 3 5
SENG429 Software Quality Assurance E 3 0 3 5
SENG491 Graduation Project II E 0 8 4 5
TE Technical Elective V E 3 0 3 4
Semester Total Credit 19 30

8. Semester

Course Code Course Name C/E T A C E
FE400 Cooperative Engineering Education C 0 8 4 30
Semester Total Credit 4 30

Association of Evaluation and Accreditation of Engineering Programs

EDUCATIONAL OBJECTIVES OF THE PROGRAM

Hasan Kalyoncu University Software Engineering Department graduates in the near future;

1. They work in the private sector / public sector by taking different roles such as research and development, software development, systems and hardware, project engineer in Software Engineering, Software Engineering, System Engineering and related disciplines.

2. As innovative, entrepreneurial and visionary individuals, they establish national / international companies in software engineering or related fields.

3. They continue their graduate studies in Software Engineering or related disciplines.

1) Qualified knowledge of mathematics, science and related engineering discipline; ability to use theoretical and practical knowledge in these areas in complex engineering problems.

2) An ability to identify, formulate, and solve complex engineering problems; the ability to select and apply appropriate analysis and modeling methods for this purpose.

3) An ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions; the ability to apply modern design methods for this purpose.

4) Ability to develop, select and use modern techniques and tools necessary for the analysis and solution of complex problems in engineering applications; ability to use information technologies effectively.

5) Ability to design, conduct experiments, collect data, analyze and interpret results to investigate complex engineering problems or discipline-specific research topics.

6) Ability to work effectively in disciplinary and multidisciplinary teams; self-study skills.

7) Ability to communicate effectively in verbal and written Turkish; knowledge of at least one foreign language; ability to write effective reports and understand written reports, to prepare design and production reports, to make effective presentations, to give clear and understandable instructions and receiving skills.

8) Awareness of the necessity of lifelong learning; the ability to access information, follow developments in science and technology, and constantly renew oneself.

9) To act in accordance with the ethical principles, professional and ethical responsibility awareness; information about standards used in engineering applications.

10) Information on business practices such as project management, risk management and change management; awareness about entrepreneurship and innovation; information on sustainable development.

11) Information about the effects of engineering applications on health, environment and safety in universal and social dimensions and the problems reflected in the engineering field of the age; awareness of the legal consequences of engineering solutions.

Course Code and Name: CENG101 Introduction to Computer Engineering
Credit / ECTS: 3 0 3 5
Course Content:

In this course, basic computer engineering concepts will be introduced. The course introduces students to the history and evolution of computing and the impact of information technology on society.

Course Code and Name: CENG111 Computer Programming I
Credit / ECTS: 3 2 4 5
Course Content:

This is the first of two courses in advanced programming in Python and an introduction to C programming language. In particular, the subjects taught in the Python program language are as follows: Algorithm concept,
flow diagrams, structural programming concept, modular programming, file processing, lists and applications.

Course Code and Name: CENG112 Computer Programming II
Credit / ECTS: 3 2 4 5
Course Content:

This is the second of two courses on advanced programming in the Python programming language and an introduction to the C programming language. As a continuation of the first lesson, the topics covered in Python program language are as follows: tuples and applications, strings and typesetting, dictionaries and sets. As the second part of this course, the topics to be taught in C programming language are as follows: Introduction to C programming, structural programming, program control statements and structures, functions, arrays and applications including sorting, searching and multidimensional arrays, pointers and applications.

Course Code and Name: MATH114 Discrete Mathematics
Credit / ECTS: 4 0 4 5
Course Content:

Sets, relations and functions, data structures applications and graphical representation, partial order sets, tree structures, algebraic structures, lattices and Boolean algebra, semi-groups, groups, introduction to machine languages and grammar, error correction codes.

Course Code and Name: FE102 Technology and R&D Management
Credit / ECTS: 2 0 2 2
Course Content:

Definition and importance of innovation, types of innovation, innovation strategies, new product development.
Definition and importance of entrepreneurship, types of entrepreneurship, entrepreneurship strategies, business models, entrepreneurship, product portfolio management. What is a project and definition of modern project management. Estimate project time and cost, cpm method. To have general information about environmental law issues, to have information about patents and intellectual industrial rights. Product recovery options: Recycling, repair, renovation, remanufacturing.

Course Code and Name: CENG211 Object Oriented Programming
Credit / ECTS: 3 2 4 6
Course Content:

Introduce the concepts of Object Oriented Programming. Provides tools, structures, formats, and object-oriented programming techniques to design well-formed programs. Handles concepts such as classes, objects, methods, inheritance, polymorphism, error handling, and templates.

Course Code and Name: CENG212 Database Management Systems
Credit / ECTS: 3 2 4 6
Course Content:

Database concepts. Relation model, correlation algebra, questioning. Application development. Database design, normalization, entity-relationship model. Simultaneous operation, movements, locks. Object-oriented databases, object / correlation mapping, XML data model and querying.

Course Code and Name: CENG214 Data Structures
Credit / ECTS: 3 2 4 6
Course Content:

Introduction to Data Structures: Primitive data structures. Memory representation of information. Arrays and memory distribution of arrays. Structures: Sequences of structures. Structures and Functions. Dynamic memory allocation. Stack: Stack As Abstract Data Type. Primitive operations. Representation of the stack in C. Infix, Postfix and Prefix notations; Post-to-Postfix transformation. Recursion A recursive definition. Examples: Factor function. Fibonacci Sequence. Queues: Queue as Abstract Data Type. C application of queues. Linked Lists: Adding and Removing Nodes from a List. Circular Lists, Binary Linked Lists. Trees: Operations on Binary Trees. Binary Tree Impressions. Binary Tree Crossing. Binary tree creation. Sorting: Sorting Efficiency. Search: Sequential Search. Binary search. Binary Search Trees.

Course Code and Name: CENG202 Computer Architecture and Organization
Credit / ECTS: 3 0 3 5
Course Content:

This course provides an overview of computer organization and architecture. The main components of a computer and the connections between them. Computer arithmetic and logic. Internal architecture and organization of the processor. Discussion of reduced instruction set computer (RISC) and superscalar approaches. Introduction to parallel computing.

Course Code and Name: CENG301 Algorithm Analysis
Credit / ECTS: 3 2 4 5
Course Content:

Definition and properties of algorithms. Design, analysis and representation of algorithms. Calculation models. Mathematical Basics: Growth of functions, asymptotic representations. Recursive algorithms and related iteration relationships (substitution method, iteration method, recursion trees, main method). Design paradigms for algorithms: Brute-Force (Divide Search), Divide and Conquer (Join Order, Binary Search Tree). Dynamic Programming (Matrix Chain Multiplication, LCS Length, Backpack Problem, etc.). Greedy algorithms (Fractional Backpack Problem).

Course Code and Name: CENG302 Software Engineering
Credit / ECTS: 3 0 3 4
Course Content:

Software development methodologies. Requirements Analysis, Design and Implementation of Software Systems, Coding, Unit, Integration and System Testing. Quality Assurance and Project Management. Tools and Standards.

Course Code and Name: CENG311 Data Communications and Computer Networks
Credit / ECTS: 3 2 4 6
Course Content:

In this course, students will be introduced to the world of networking and will be introduced to most of the sub-domains (network protocols, LAN services, WAN services, routing, network programming, network management, QoS, Internet telephony, etc.). Some of these topics will be studied in the Cisco network lab to provide students with a solid foundation in network hardware and configuration.

Course Code and Name: CENG313 Web Programming
Credit / ECTS: 3 2 4 6
Course Content:

Internet and World Wide Web. Overview of .NET and PHP development platforms. Object oriented concepts in C #. Databases and data access. Introduction to PHP and ASP.NET. Advanced web forms and PHP pages. Web services. Design considerations.

Course Code and Name: EE331 Sinyaller ve Sistemler
Credit / ECTS: 3 0 3 4
Course Content:

Classification of signals, basic signals, classification and properties of systems, time domain characterization of linear time invariant (LTI) systems, continuous and discrete time Fourier series, continuous time and discrete time Fourier transformations, frequency domain characterization of linear time invariant (LTI) systems, sampling. Laplace and z transforms and their applications.

Course Code and Name: CENG303 Formal Languages and Automata
Credit / ECTS: 3 0 3 4
Course Content:

Formal Proofs. Finite machine, Order expressions, and algorithms connecting both notations. Pumping Proposition for regular languages and properties of regular languages. Context-free grammars. Pumping Proposition for context-independent languages and properties of context-independent languages. Pushdown machines and Turing Machines.

Course Code and Name: CENG304 Operating Systems
Credit / ECTS: 3 0 3 5
Course Content:

Computer architecture, process management, inter process synchronization, inter process communication, semaphores and monitors, deadlocks, CPU planning algorithms, memory management, virtual memory, file systems, input / output systems and disk planning.

Course Code and Name: CENG401 Programming Language Concepts
Credit / ECTS: 3 0 3 5
Course Content:

Structure of programming languages. Concepts and Paradigms. Values and Types. Variables and Storage. Bindings, Scope, and Runtime Storage. Operational Abstraction and Encapsulation. Data Abstraction and Encapsulation. Type Systems. Control Flow. Functional language and C ++ concepts.

Course Code and Name: CENG499 Graduation Project
Credit / ECTS: 0 8 4 5
Course Content:

The projects will demonstrate the students’ ability to apply, analyze, synthesize, evaluate information, and communicate significant knowledge and comprehension. This is an opportunity to expand the student personal knowledge and apply it to real-life situations, which will serve to benefit their growth and promote lifelong learning. Students shall complete their projects under the direction and supervision of faculty members. At the end of this course, students must deliver a product or significant study with a major component that has passed through the design, analysis, implementation, testing, and evaluation stages.

Course Code and Name: CENG420 Machine Learning
Credit / ECTS: 3 0 3 5
Course Content:

Introduction to ML, basic information and mathematical concepts; Basics of Pattern Recognition; Probabilities and probability distributions; Learning Linear Models for Regression and Classification; computational neural networks models and Core Methods; Graphics and Mixing Models and EM; mixed and combined models; modeling sampling methods

Course Code and Name: CENG430 Computer Graphics
Credit / ECTS: 3 0 3 5
Course Content:

Hardware and software components of graphics systems. Fourier analysis, inversion, sampling and quantization. 2D and 3D geometric transformations. Two-dimensional imaging. Three-dimensional imaging: Pipeline imaging, parameters display, projections, transformations display, clipping. Visible surface detection. Introduction to lighting models and surface creation.

Course Code and Name: CENG440 Cyber Security
Credit / ECTS: 3 0 3 5
Course Content:

In this course, students will be introduced to real-world cybersecurity challenges that organisations face, and learn to apply knowledge and skills gained through other Computer Science courses to address them. This course provides also basic definitions of cyber security, overview of cyber threats. Cryptology, Symmetric/asymmetric cryptography, PKI, CA trust model, SSL/TLS (HTTPS, SFTP etc.). In order to build a solid background about authentication and secure protocols some topics will be covered in this course such as: Message authentication, digital signature, digital certificates, authentication and Hash Functions. The course also will also introduce cyber security management concepts, including security operations, risk management, security engineering. Other topics such as:
cyber threat prevention mechanisms, network forensics, and web application security will be covered in this course.

Course Code and Name: CENG460 Java Programming
Credit / ECTS: 3 0 3 5
Course Content:

An introduction to Java, a highly-portable object-oriented programming language particularly suited to programming for a variety of platforms. This is not an introductory programming course — it is really a course in Java as a “second” language.

Course Code and Name: CENG462 Numerical Analysis
Credit / ECTS: 3 0 3 5
Course Content:

In this course, students will be introduced to the concepts of mathematical procedures and the importance of the algorithm on the numerical calculations. Subunits of the algorithms. Matrix and matrix calculations. Solution methods of the linear equations systems. Solution methods of the nonlinear equations systems. Curve fitting methods, interpolation methods and extrapolation methods. Numerical methods of derivation. Numerical methods of integration. Numerical methods of differentiation equations. Complex numbers.

Course Code and Name: CENG463 Introduction to Robotics
Credit / ECTS: 3 0 3 5
Course Content:

Introduction, Rigid motions. Homogeneous transformations. Robot forward kinematics. Robot inverse kinematics. Differential kinematics and Jacobeans. Motion planning and trajectory generation. Robot dynamics. Mobile robots. Independent joint control. Robot sensors and actuators.

Course Code and Name: CENG473 Image Processing and Analysis
Credit / ECTS: 3 0 3 5
Course Content:

This course introduces the basic mathematical concepts, algorithms and other building blocks in image processing and analysis. The course includes: image enhancement and restoration in both spatial and frequency fields, such as image detection and acquisition, noise reduction and deburring; color image processing; various image compression techniques; morphological Image processing, Image edge detection, zone segmentation, basins; image display and description; and finally object recognition.

Course Code and Name: CENG477 Bilgi Güvenliği
Credit / ECTS: 3 0 3 5
Course Content:

This course provides solid background in cryptography and data integrity. Besides, it introduces security properties, models, and threats. In addition, it gives an overview of some cryptographic protocols. Basic principles of risk management and security policy are also covered. Cisco security lab sessions will be done for selected topics.

Course P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11
AIIT201 Atatürk’s Principles and History of Revolution I  X X X X X X X X X X
AIIT202 Atatürk’s Principles and History of Revolution II X X X X X X X X X X
BIO202 Biology X X X X X X X X
CENG101 Introduction to Computer Engineering   X X X X X X X
CENG111 Computer Programming I   X X X X X X
CENG112 Computer Programming II   X X X X X X
CENG202 Computer Architecture and Organization X X X
CENG211 Object Oriented Programming X X X X X X X
CENG212 Database Management Systems  X X X X X X X
CENG214 Data Structures   X X X X X X
CENG301 Analysis of Algorithm   X X X X X X
CENG302 Software Engineering X X
CENG303 Formal Languages and Automata X X X X X X X X X
CENG304 Operating Systems X X X X X X X X X
CENG306 Artificial Intelligence X X X X X X
CENG311 Data Communications and Computer Networks X X X X X X
CENG313 Web Programming X X X X X X
CENG314 Microprocessors  X
CENG401 Programming Language Concepts X X X X X X X
CENG499 Graduation Project  X X X
EE243 Digital Logic Design X X X X X X X
EE205 Electrical Circuit Analysis X X X X X X X X
EE331 Signals and Systems
ENG101 Technical English I  X X X X X X X X X
ENG102 Technical English II    X X X X X X X X X
FE101 Social Responsibility Project X X X X X X X X X
FE102 Technology and R&D Management X X X X X X X X X
FE202 Occupation Health and Safety X X X X X X X
FE400 COOP X X X X X X X X
INT100 Introduction to University Life X X X X X X X X X
MATH111 Calculus I   X X X X X X X X
MATH112 Calculus II X X X X X X X X
MATH114 Discrete Mathematics X X X X X X X X X
MATH211 Linear Algebra  X X X X X X X X
MATH212 Differential Equations  X X X X X X X X X
MATH331 Probability and Statistics X X X X X X X X X
PHYS101 General Physics I   X X X X X X X
PHYS102 General Physics II   X X X X X X X
TÜR101 Turkish Language and Literature I  X X X X X X X X X X
TÜR102 Turkish Language and Literature II  X X X X X X X X X X
TECHNICAL ELECTIVE COURSES
CENG420 Machine Learning
CENG430 Computer Graphics X X X X X X X X
CENG440 Cyber Security X
CENG460 Java Programming X X X X X X X
CENG462 Numerical Analysis
CENG463 Introduction to Robotics
CENG473 Image Processing and Analysis
CENG477 Information Security X

In this program; different evaluation methods such as midterm, homework, exercise, project, application and final exam are applied. Assessment methods may include classical examination, multiple choice examination, homework, performance assessment and product assessment. In order to graduate from the program, the GPA must be at least 2.00. The grade of a course is determined as a result of the evaluation of the above elements and given as a letter. At least DD letter grade is required to be successful in a course. Letter grades and the coefficient of each grade are given below.

Letter Grade Coefficient
AA 4,0
BA 3,5
BB 3,0
CB 2,5
CC 2,0
DC 1,5
DD 1,0
FD 0,5
FF 0,0
NA 0,0

There is a total of 5 years of education together with 1 year English preparatory and 4 years undergraduate education. The language of instruction is 100% English. 145 credits and 240 ECTS are have a right to graduate. There is a semester internship (COOP) in the last semester.