TR    EN

Undergraduate Program Course List

Compulsory Departmental Courses

Elective Courses

Technical Elective Courses

Service Courses Taken From Other Departments



Compulsory Departmental Courses

SE 112 - Introduction to Software Engineering
Basic concepts: abstraction, problem solving, reuse, and system decomposition. Overview of software engineering: life cycle, systems, customers, users, requirements, design, implementation, software quality assurance, testing and maintenance.

SE 212 - Human Computer Interaction
Basic principles of user interfaces, human capabilities and limitations; usability paradigms and principles, user and task analysis, design process, prototyping and evaluation, color and typography, new user interface technologies.

SE 221 - Software Requirements Engineering
Basics of software requirement, requirements from the customer's perspective, applications in requirements engineering, the role of requirements analyst, forming product vision and project scope, understanding customer and user requirements, documenting requirements, risk reduction through prototyping, setting requirement priorities, validating requirements, requirements management, formal reasoning and specifications in requirements engineering.

SE 321 - Object-Oriented Analysis and Design
Fundamentals of object-orientation. Object-oriented (OO) modeling using UML. Experimentation in OO analysis: identification of use cases and objects. Experimentation in OO design: class hierarchies. Implementation in OO programming. Design Pattern (overview). Case study to reinforce the underlying concepts. Note: No particular software development process is prescribed in the course. However, the key process activities followed will be the Unified Software Development Process (USDP).

SE 322 - Software Architecture
Introduction to software architecture, architecture business cycle, creating an architecture, introducing a case study, understanding and achieving quality, design, document and reconstruct software architecture, methods in architecture evaluation, quantitative approach to architecture design decision making, software product lines, types of architecture: middleware, model-driven, service-oriented, semantic web, aspect-oriented, case studies are given to understand concepts in real life contexts

SE 324 - Software Project Management and Economics
Introduction to software project management. Overview of project planning. Selection of appropriate project approach. Activity planning, Resource allocation. Project tracking and control. Contract management. Managing people and organizing teams. Software quality assurance. Configuration management. Various tools of software project management. Software Engineering Economics Fundamentals, Software Cost Estimation, Life Cycle Economics, Uncertainty, Risk Analysis and Management

SE 328 - Algorithms and Optimization Methods
Design and analysis of algorithms, mathematical complexity of algorithms, master theorem, decrease-and-conquer, divide-and-conquer, transform-and-conquer, introduction to some optimization techniques, dynamic programming, greedy technique, iterative improvement, coping with limitations of algorithm power.

SE 344 - Systems Software Validation and Testing
Software Testing and its essentials. Risk Management. Verification and Validation. Static V&V techniques and their comparison. Software testing strategy and techniques. Software testing tools. Configuration management. Software measurement and metrics related with testing.

SE 345 - Software Quality Assurance
Introduction to software quality and assurance, software quality metrics, construction of software quality assurance, configuration management, software validation and verification, reviews, inspection and audits, software process improvement models, software testing strategies and testing techniques, defect reporting and removal, software reliability metrics and software quality metrics, quality assurance models, risk management, data collection and maintenance.

SE 399 - Summer Practice I
A minimum of 20 working days of training in the industry involving the observation of the hardware and software components of a computer system in use. A summer practice report is prepared that lists the experiences of the student during this period.

SE 493 - Project Orientation
Computing and IS projects, research, project planning and risk management, national and international standards, team working, literature survey, conducting project, project presentation, lifelong learning, ethics, legal issues, innovation and entrepreneurship.

SE 494 - Senior Project
Project analysis and design, project development, project management, team working, project presentation.

SE 499 - Summer Practice II
A minimum 30 working days of training in an IT department/company involving the observation of the hardware and software components of a computer system. Students are expected to be involved in software/hardware development projects of the IT department/company. A summer practice report is prepared that presents the experiences of the student during this period.

TURK 401 -

TURK 402 -

Elective Courses

- Area Elective Course

Technical Elective Courses

CMPE312 - Visual Programming
Review of object-oriented programming, visual programming basics such as value types, operator overloading, exception and event handling; using GUI frameworks; working with files and data access by using XML.

CMPE318 - Java Programming
Java technology, object-oriented programming, objects, classes, modularity; encapsulation, polymorphism, elements of Java, exceptions, garbage collector; classes and inheritance; interfaces; the collections framework; the input/output framework; the graphical user interfaces framework; threads.

CMPE326 - Formal Languages And Automata
Languages and their representations. Finite automata and regular grammars. Context-Free Grammars. Concept of abstract machines and language acceptance. Deterministic and non-deterministic finite state machines. Pushdown automata. Turing machines and introduction to the theory of computation.

CMPE343 - Database Systems and Programming
Concurrent operations on databases; transaction processing and concurrency control; DB recovery, security and authorization; introduction to DB programming, object-oriented DB concepts.

CMPE376 - Computer Games and Simulation
History of games and current trends in games, the main concepts on game design and development, evaluating commercial games; main game design issues; creating simulations; using artificial intelligence in games; using physics and mathematics in games; main computer graphics concepts used in games; human computer interaction concepts for developing

CMPE413 - Logic Programming
Lisp programming: symbolic expressions, elementary functions, Lambda notation, forms, functions, list structures, Prolog programming: facts, rules, relationships; data structures; backtracking; input/output; built-in predicates.

CMPE424 - Language Processors
Fundamental concepts of compilation and interpretation; single-pass and multiple-pass language translators; lexical analyzer; top-down parsing, and LL(1) grammars; recursive descent method; bottom-up parsing; shift reduce technique; operator precedence grammar, LR(0) and SLR(1) grammars; syntax directed translation; error processing and recovery; s

CMPE433 - Cloud Computing and Virtualization
Cloud description, types of cloud, services, deployment models, types of virtualization, hardware virtualization, hypervisors, OS virtualization, server virtualization, desktop virtualization, storage virtualization, application virtualization, benefits and costs, security issues

CMPE434 - Embedded System Design
Embedded systems and their applications, metrics of embedded systems, components of embedded systems, realization of embedded systems, PCB technologies, simulation, emulation, rapid prototyping, testing and certification examples of realizations optimized for different applications, analysis of development costs and times, laboratory work on specif

CMPE435 - Special Topics In Computer Networks
Elaborate concepts of TCP/IP computer networks; application details for well-known applications on the Internet. IPv6 addresses; routing principles and routing algorithms; ICMP communication; VPNs; wireless-networking; network security.

CMPE437 - VLSI Design
Basic fabrication sequence of ICs, self aligned silicon gate, NMOS and CMOS technologies; design rules and layout; memories and registers; full custom and semi-custom ICs; standard cells, gate arrays, FPGAs and PLDs. CAD tools for design of ICs; high level design of ICs using VHDL; low power IC design.

CMPE461 - Applied Neural Computing
Introduction to neural networks, perceptron learning rules, backpropagation algorithms, generalization and overtraining, adaptive linear filters, radial basis networks, self organizing networks, learning vector quantization, recurrent networks.

CMPE462 - Introduction to Artificial Intelligence
Agent paradigm, problem solving by searching, informed/uninformed search methods, genetic algorithms, simulated annealing, constraint satisfaction problems, adverserial search, logical agents, knowledge engineering, expert systems, communication, AI applications.

CMPE463 - Digital Signal Processing
Discrete-time domain and frequency domain representation of signals and systems; sampling and reconstruction; DFT, FFT, z - transform, filter design techniques; finite word length effects; 2-D filtering; applications of DSP; programming of some DSP processors.

CMPE464 - Digital Image Processing
Introduction to signal and image processing, introduction to digital image processing, sampling, reconstruction, and quantization, digital image representation, image transforms, enhancement, restoration, segmentation and description.

CMPE465 - Knowledge Engineering
Knowledge representation methods: rule-based, graph-based, logic-based methods, introduction to Prolog, knowledge acquisition, expert systems, ontology, semantic web, introduction to machine learning.

CMPE466 - Soft Computing
Biological and artificial neurons, perceptron and multilayer perceptron; ANN models and learning algorithms; fuzzy sets and fuzzy logic; basic fuzzy mathematics; fuzzy operators; fuzzy systems: fuzzifier, knowledge base, inference engine, and various inference mechanisms such as Sugeno, Mamdani, Larsen etc., composition and defuzzifier.

CMPE467 - Pattern Recognition
Bayes decision theory, classifiers, discriminant functions and decision surfaces, estimation of parameters, hidden Markov models, nearest neighbor methods; linear discriminant functions; neural networks; decision trees; hierarchical clustering; self organizing feature maps.

CMPE473 - Computer Graphics
Hardware and software components of graphic systems; output and filled data primitives; 2D and 3D geometric transformation; 2D and 3D viewing pipelines; visible-surface detection methods.

ISE 201 - Business and Ethics
Ethical concepts relevant to resolving moral issues in business and decision making. Moral issues in the management of specific problem areas in business. Social and natural environments within which moral issues in business arise.

ISE 261 - Business e-Commerce
A context for developing e-Commerce applications. Types of e-Commerce applications. Identifying and describing an e-Commerce applications. E-Commerce feasibility. E-Commerce requirement analysis. High-level, detailed and technical design and construction. E-business models. Internet marketing. Online monetary transactions. Internet taxation. Legal, ethical and social issues. Testing and implementation: JavaScript, JScript, DHTML, CSS, ASP, XML.

ISE 301 - Multimedia Systems
Multimedia terminology and concepts, multimedia data types (digital image, audio, video); multimedia editing for different multimedia types.

ISE 311 - Internet Programming
Internet Programming Environments. Home Page Design with HTML and DHTML. JavaScript, Client-Server Model, Client Side Scripts, and Server-Side Scripts. Web Servers (installation on different OS such as Unix/Linux, and Microsoft, setting up the required components, administration). CGI, SSI, SSL, Certification, Cookies, and Sessions. Database Integration. Web Security. XML. Designing Interactive Internet Applications.

ISE 314 - Data Warehousing and Mining
Data warehousing fundamentals. Planning, design and implementation and administration of data warehouses. Data cube computation. OLAP query processing. Fundamentals of data mining and relationship with data warehouse and OLAP systems. Association rule mining. Algorithms for clustering, classification and rule learning.

ISE 405 - Foundations in Information Technology Services
Service operation and continual service improvement domains of the ITIL standard for IT Service Management. Planning and change management. Asset and configuration management. Security management. Network management. Storage management. Request management. Incident and problem management.

ISE 407 - Introduction to Mobile Application Development
Mobile Devices. Mobile Platforms. Mobile Operating Systems. Mobile Programming. User Interface Design in Mobile Devices. Data Store in Mobile Platforms. Map and Location-based Services. Telephony and SMS. Sensors.

ISE 414 - Investigation of Computer Crime
Computer crimes. Vulnerability. Risk assessment. Electronic fraud. Viruses and worms. Computer crime laws.

ISE 422 - e-Government
Introduction to e-Government. Basic concepts and definitions. The components of e-Government. Managing e-Government projects. Infrastructure requirements for e-Government. e-Organizations. Measuring e-Government maturity. e-Government: a profile of Turkey and world trends. Risks: e-Government versus conventional Government procedures.

ISE 423 - Technology Trends in e-Government
Theoretical background of e-Government. The use of e-Government: local and global. Technical and organizational aspects to realize e-Government systems and contemporary sociotechnological methodologies. Enterprise architectures, reference models and frameworks: Zachman, TOGAF, MoDAF, and DoDAF. Interoperability standards: eGIF, EIF, SAGA, and other ISA (aka IDABC) programmes in comparison with local profile. Interoperability and integration strategies: service, event and model driven architectures, ESB, semantic approaches. e-Government systems security and identity management. Local and global initiatives and case studies.

ISE 424 - Distance Education and E-Learning
Definitions, history, and theories of distance education and e-learning. Instructional design. Tools and technologies for distance education. Multimedia learning, computer-supported collaborative learning. Learning management systems. New directions and developments.

ISE 426 - Computer Security
Cryptographic tools. User authentication. Access control. Intrusion detection. Malicious software. Denial-of-service attacks. Firewalls. Trusted computing. Buffer overflow. Software security. Windows Security. Linux Security.

ISE 432 - Innovation and Entrepreneurship in IT
Innovation, Innovation source, Innovation process, Innovation and Entrepreneurship, Starting a Techno-Business, Business plan, Sustainability with innovation

SE 340 - Rapid Application Development
Overview of the base language of a Rapid Application Development (RAD) tool; object definitions, methods, properties and inheritance. Form design using visual components. Application development using the libraries of an industry standard RAD tool.

SE 360 - System Modeling and Simulation
Dynamic Simulations. Providing custom-made data types, operators and control structures for simulation. Model generators. Simulation Programming Landscape. Simulation Problems.

SE 375 - 3D Modeling, Animation and Game Design
Introduction to modeling bases. An overview of the design of the model. Selection of the appropriate modeling technique. The model is transformed into simulation and animation. Overview of simulation and physics engine. Control of model and animation with peripherals. Overview of peripherals. Interactive project construction with the selection of appropriate peripherals. 3D modeling for 3D printers. Artificial organ design with 3D printers. Industrial product design with 3D printers. Art works design with 3D printer. 3D character and 3D environment design for computer games. Virtual reality applications for computer games. Interactive ad implementations. Interactive smart toy applications. Wearable technology designs.

SE 400 - Undergraduate Research Project
This course is offered only to undergraduate students who work on a research project as part of one of the research programs identified below. The student is expected to perform the necessary research activities (literature search, analytical studies, experimental studies, etc.) under the supervision of a faculty member and present the results of these activities to the faculty member verbally and in the form of written reports. Research programs related with this course: 1. TÜBİTAK Üniversite Öğrencileri Yurt İçi / Yurt Dışı Araştırma Projeleri Destekleme Programı (TÜBİTAK-2209) 2. Atılım Üniversitesi Lisans Öğrencileri Araştırma Programı (ATÜ-LAP) 3. ATÜ – BAP

SE 421 - Big Data Programming
What is "Big Data"? The dimensions of Big Data. Scaling problems. HDFS and the Hadoop ecosystem. The basics of HDFS, MapReduce and Hadoop cluster. Writing MapReduce programs to answer questions about data. MapReduce design patterns. Basic Spark architecture. Common operations. Use Resilient Distributed Datasets (RDD) operations.

SE 426 - Emerging Technologies
What is an "Emerging Technology"? Disruptive Technologies. Identification of Disruptive Technologies. The 3D Printing Revolution. The Evolution of Technology. The Nature of Innovation. Combination and Structure. Phenomena. Domains & Problem-Solving. Origin of Technologies. Technological Revolution. Economic Revolution. Forecasting.

SE 440 - Analysis and Design of User Interfaces
Basics of user interfaces. Use of requirements gathering techniques. Finding out about user, tasks and environment. Conceptual design. Interaction design. Design principles. Interaction styles. Designing GUI. Designing for web. User interface evaluation process.

SE 446 - Introduction to Bioinformatics
DNA and protein sequence alignment. Phylogenetic trees. Protein structure prediction. Motif finding. Microarray data analysis. Gene/protein networks.

SE 450 - Software Engineering Ethics
Corporate responsibility. Engineering responsibilities. Personal rights. Whistle blowing. Conflicts of interest. Professional autonomy. Risk assessment. Sustainable development, and the place and purpose of engineering codes of ethics. Ethics, rules and principles in software engineering and other information systems. Ethical work and ethical decision making in the field.

SE 453 - Large Scale Software Development
The nature and development lifecycle for large-scale software (LLS) projects. Role of the Software Architect. Software Architecture and the Development Process. System Context and Domain Analysis. Component Design and Modeling. Subsystem Design. Transaction and Data Design. Process and Deployment Design. Architecture Techniques. Applying the viewpoints.

SE 460 - Software Construction
Software construction fundamentals. Software complexity. Construction management. Construction models. Construction planning. Software measurement. Construction Languages. Coding. Construction Testing. Reuse. Verification and standards in construction. Construction quality. Integration

SE 461 - Software Patterns
Introduction to design patterns. Creational patterns. Structural patterns. Behavioural patterns. Analysis patterns. Architectural patterns. Testing. Refactoring.

SE 462 - Formal Methods in Software Engineering
Introduction to formal methods. Fundamental aspect of formal specifications. Software specification and development with mathematical semantics. Constructing formal specifications for software-intensive systems. Specification languages: Z, Object Z and OCL. Relating specifications and implementations. Role of formal specification in system life cycle. Classification of formal methods. Formal validation and verification.

SE 470 - Agile Methods in Software Development
Introduction to Agile Methods. eXtreme Programming (XP), Lean, Scrum, Crystal, Feature-driven Development (FDD), Kanban. Dynamic Systems Development Method (DSDM). Architecture and design issues in agile software methods.

Service Courses Taken From Other Departments

CEAC 105 - General Chemistry
Introduction: Matter and Measurement. Atoms, Molecules and Ions. Stoichiometry: Calculations with Chemical Formulas and Equations. Oxidation-Reduction Reactions. Thermochemistry. Electronic Structure of Atoms. Periodic properties of the Elements. Basic Concepts of Chemical Bonding. Molecular Geometry and Bonding Theories. Gases. Intermolecular Forces, Liquids and Solids. Chemical Kinetics. Chemical Thermodynamics. Electrochemistry.

CMPE109 - Fundamentals of Computing
Engineering fundamentals, computer engineering as a profession, career opportunities, professional organizations for computer engineering, ethical issues in computing; hardware components of a computer system; data representation and machine language instructions; coordinating internal activities of a computer using operating systems; networking

CMPE113 - Computer Programming I
Algorithm development, fundamental elements of the C language, selection statements, iteration statements, standard library functions, user-defined functions, parameter passing, application programs in a laboratory environment using the C language.

CMPE114 - Computer Programming II
Pointers, dynamic memory management, parameter passing, arrays, strings, structures, file processing; application programs in a laboratory environment using the C language.

CMPE225 - Object Oriented Programming
Data types, expressions and statements, functions and scope rules, class definitions, inheritance, polymorphism, name overloading, templates, exception handling; input/output; object oriented principles using the UML and C++ programming language.

CMPE226 - Data Structures
Stacks, recursion, queues; creation and destruction of dynamic variables, serial linked lists, circular lists, doubly linked lists, circular doubly linked lists; sorting and searching algorithms, space and time considerations, binary trees, binary search trees, tree traversal algorithms, binary tree sorting algorithms, hashing.

CMPE251 - Discrete Computational Structures
Basic mathematical objects of computational mathematics: sets, sequences, relations, functions, and partitions; deductive mathematical logic proof techniques; discrete number systems; induction and recursion; graphs and sub-graphs; trees; planarity of graphs; covering problems; path problems; directed graphs; combinatorics.

CMPE325 - Study of Programming Languages
Study of programming language concepts: syntax and semantics, types, values, expressions, and statements; program structure; procedures and functions; structured data; abstraction and encapsulation; inheritance; dynamic binding; concepts of programming paradigms by means of functional, procedural, and object-oriented programming languages.

CMPE338 - Computer Networks & Operating Systems
Basic concepts of computer networking, UDP and TCP services, reliability in data communication, network layer addressing, segment, datagram, frame structures, processes, scheduling algorithms, deadlock detection algorithms, semaphores, basic virtual memory structure and page replacement algorithms.

CMPE341 - Database Design and Management
Database system concepts, data modeling with ER and EER, the relational data model, file organizations and index structures, relational algebra, structured query language (SQL); database design: functional dependence and table normalization; introduction to database administration; a relational DBMS in a laboratory environment.

ENG101 - English for Academic Purposes I
ENG101 consists of academic skills, such as reading comprehension, vocabulary building and critical analysis of texts. In this frame, listening and note-taking, class discussions, presentations, writing, research assignments and use of technology are some of the important activities.

ENG102 - English for Academic Purposes II
ENG102 elaborates on academic skills such as reading comprehension, listening, class discussions about the topic of the unit, vocabulary building and critical analysis of texts. It also includes research assignments and response paper and graph writing. Skills like listening and note-taking, analysis of written products, portfolio keeping and use of technology are elaborated in this course, as well.

ENG201 - English for Academic Purposes III
The course consists of mainly advanced reading and writing skills, applying critical reading skills and strategies, identifying the organization of a reading text, main ideas of the texts, and the author’s main purpose, summarizing a given text, outlining and writing an argumentative essay. Some parts of the input are in flipped learning mode.

ENG202 - English for Academic Purposes IV
This course includes research-based report writing skills. The content includes types of reports and models; the choice of topics, formation of thesis statements, writing paraphrases and summaries, preparation of report outlines, evaluation of print and electronic sources, in-text and end-of-text citation, report presentation in oral and written format. Flipped learning method is utilised to a great extent.

ENG301 - English For Professional Communication I
This course includes job-related communication skills. In this frame, the functions such as, describing relationships at work, discussing performance reviews and giving feedback, discussing plans and arrangements, using social media for professional communication, discussing on recruitment tests and job interviews, presenting a service or product, writing reviews on websites, writing job-related e-mails are dealt with.

ENG302 - English For Professional Communication II
This course includes more detailed job-related communication skills. In this frame, describing and organising meetings, developing communicational styles in various cultural settings, handling mistakes and apologizing, getting familiar with marketing styles and advertising, deciding how to adapt and market a product in different countries, preparing different types of presentation (speech), discussing workplace dilemmas and rules, writing job-related e-mails are dealt with.

HIST 221 - History of Civilization
Analysis of the importance of theuse of technology in human evolution and the emergence of early civilizations; ancient societies from Ancient Egypt to Greece as the cradles of modern civilizations; some classical texts of certain key authors –Machiavelli, Hume, Descartes, Hobbes, Bacon, Locke, Rousseau, etc. As outstanding contributions to the history of enlightenment; some groundbreaking scientific texts of Copernicus, Galileo, and Newton to understand the contribution of scientific thought to the progression of civilization.

HIST111 - Principles of Ataturk and History of Turkish Revolution I
A history of the foundation of the Turkish Republic in the light of Mustafa Kemal Atatürk’s principles and basic terms, concepts and events of modern Turkey history in a period covering 16‐20th centuries in comparison with world and global history in the same period of time.

HIST112 - Principles of Ataturk and History of Turkish Revolution II
A history of the foundation of the Turkish Republic in the light of Mustafa Kemal Atatürk’s principles and basic terms, concepts and events of modern Turkey history in a period covering 16‐20th centuries in comparison with world and global history in the same period of time.

IE 220 - Probability and Statistics
Introduction to probability and statistics. Random variables and probability distributions. Expected value. Sampling distributions. One and two sample estimation problems. Test of hypotheses. Simple linear regression.

MATH151 - Calculus I
Preliminaries, Limits and Continuity, Differentiation, Applications of Derivatives, L'Hopital’s Rule, Integration, Applications of Integrals, Integrals and Transcendental Functions, Integration Techniques, and Improper Integrals.

MATH152 - Calculus II
Sequences, Infinite Series, Vectors in the Plane and Polar Coordinates, Vectors and Motions in Space, Multivariable Functions and Their Derivatives, Multiple Integrals: Double Integrals, Areas, Double Integrals in Polar Form, Triple Integrals in Rectangular, Cylindrical and Spherical Coordinates.

MATH275 - Linear Algebra
Linear Equations and Matrices, Real Vector Spaces, Inner Product Spaces, Linear Transformations and Matrices, Determinants, Eigenvalues and Eigenvectors.

MATH276 - Differential Equations
First Order, Higher Order Linear Ordinary Differential Equations, Series Solutions of Differential Equations, Laplace Transforms, Linear Systems of Ordinary Differential Equations, Fourier Analysis and Partial Differential Equations.

PHYS 101 - General Physics I
Measurement; Motion Along a Straight Line; Vectors; Motion in Two and Three Dimensions; Force and Motion I; Force and Motion II; Kinetic Energy and Work; Potential Energy and Conservation of Energy; Center of Mass and Linear Momentum; Rotation; Rolling, Torque, and Angular Momentum; Equilibrium and Elasticity.

PHYS 102 - General Physics II
Electric Charge; Electric Fields; Gauss' Law; Electric Potential; Capacitance; Current and Resistance; Circuits; Magnetic Fields; Magnetic Field due to Currents; Induction and Inductance