ECTS - Software Engineering
Compulsory Departmental Courses
CHE105 - General Chemistry (3 + 2) 5
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.
SE112 - Introduction to Software Engineering (3 + 0) 3.5
Computer Software and its types, Software Engineering discipline and its fundamental concepts, Software Process models, Requirements Engineering concepts, system modeling, architectural design, design and implementation, software testing, software evolution and maintenance, project management, quality and configuration management.
SE221 - Software Requirements Engineering (3 + 0) 6
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
SE321 - Object-Oriented Analysis and Design (3 + 0) 7
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.
SE322 - Software Architecture (3 + 0) 5
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
SE324 - Software Project Management and Economics (3 + 0) 5
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;
SE328 - Algorithms and Optimization Methods (3 + 0) 5
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.
SE344 - Systems Software Validation and Testing (2 + 2) 6
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.
SE345 - Software Quality Assurance (3 + 0) 7
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
TURK401 - Turkish Language I (2 + 0) 2
Languages and their classification; history of Turkish language, its spread over the world and its place among other languages; Turkish language in the republic era; orthography; expressions; foreign words, suffixes and prefixes; punctuation; language and verbalism.
Elective Courses
ISE332 - IT Infrastructure and Architecture (3 + 0) 5
IT infrasturucture, IT architecture, IT system model, cloud computing, green IT, big data, datacenters, servers, processor architectures, storages, networking, operating systems, virtualization, security, end user devices, system performance analysis and management, IT service management (ITIL, COBIT).
ISE353 - Information Systems Development (3 + 0) 10
Information systems, strategy and information systems, business information technology, distributed systems, internet and www, e-commerce and business, business intelligence, file organizations and databases, process analysis and modeling, data analysis, systems design, detailed design and implementation, object-oriented approaches, systems
MATH427 - Introduction to Crytopgraphy (3 + 0) 6
Basics of cryptography, classical cryptosystems, substitution, review of number theory and algebra, public-key and private-key cryptosystems, RSA cryptosystem, Diffie-Hellman key exchange, El-Gamal cryptosystem, digital signatures, basic cryptographic protocols.
SE362 - Open Source Software Development (2 + 2) 5
Introduction to open source software (OSS) projects; history of OSS; unit testing and continuous integration; use of GitHub and other hosting providers; packaging and releasing; different licensing models; some examples of successful open source projects.
SE422 - Introduction to Data Science (3 + 0) 5
Python programming language for data science, data scraping, data manipulation, data visualization, use of vectors and matrices in data science, review of statistical concepts for data science, conditional probability, Bayes?s theorem, normal distribution, prediction, regression, classification and clustering.
SE427 - Blockchain and Cryptocurrency Technologies (2 + 2) 5
Introduction.Blockchain Basics.Consensus Algorithms.Cryptography Fundamentals.Blockchain Networks. Blockchain Programming. Blockchain Transactions, Mining, and Wallets. Smart Contracts. Cryptocurrencies. Blockchain Applications. Decentralization. Blockchain Security. Legal Aspects, Finance, and Economy. Future of Blockchain Technologies.
SE481 - CO_OP Practice I (3 + 0) 5
Participating in software/hardware development projects in IT companies who have a COOP agreement; analyzing the methods and techniques utilized in the company; working in analysis, design and development of a project; preparing a report and presentation of his/her experiences.
SE483 - CO_OP Practice II (3 + 0) 5
Participating in software/hardware development projects in IT companies who have a COOP agreement; analyzing the methods and techniques utilized in the company; working in analysis, design and development of a project; preparing a report and presentation of his/her experiences.
SE544 - Cognitive Aspects of Software Engineering (3 + 0) 5
Introduction to cognitive science and its methods; cognitive processes related to software engineering (memory, expertise, attention, decision making and problem solving, team cognition); basic experimental design; case studies on cognitive aspects of software engineering research.
Technical Elective Courses
CMPE318 - Java Programming (2 + 2) 5
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 (3 + 0) 6
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.
CMPE376 - Computer Games and Simulation (2 + 2) 5
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
CMPE424 - Language Processors (3 + 0) 5
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 (3 + 0) 5
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 - Embeded System Design (2 + 2) 5
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
CMPE437 - VLSI Design (2 + 2) 5
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.
CMPE462 - Introduction to Artificial Intelligence (3 + 0) 5
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 (3 + 0) 5
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.
CMPE466 - Soft Computing (3 + 0) 5
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 (3 + 0) 5
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.
ISE261 - Business and e-Commerce (3 + 0) 6
A context for developing e-Commerce applications; types of e-Commerce applications; identifying and describing 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
ISE311 - Internet Programming (2 + 0) 5
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 integr
ISE314 - Data Warehousing and Mining (3 + 0) 5
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.
ISE405 - Foundations in Information Technology Services (3 + 0) 5
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.
ISE422 - E-Government (3 + 0) 5
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.
ISE423 - Technology Trends in E-Government (3 + 0) 5
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 DoDA; interoperability standards: eGIF, EIF, SAGA, and other
ISE424 - Distance Education and E-Learning (3 + 0) 5
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.
ISE432 - Innovation and Entrepreneurship in IT (3 + 0) 5
Introduction to entrepreneurship, recognizing opportunities and generating ideas, feasibility analysis, developing an effective business model, industry and competitor analysis, writing a business plan, preparing the proper ethical and legal foundation, assessing a new venture?s financial strength and viability, building a new-venture team, working with disciplinary teams, working with interdisciplinary teams, getting financing or funding.
SE375 - 3D Modeling, Animation and Game Design (2 + 2) 5
Introduction to modeling bases, an overview of the design of the model, selection of the appropriate modeling technique; transforming the model 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;
SE400 - Undergraduate Research Project (3 + 0) 5
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
SE421 - Big Data Programming (2 + 2) 5
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.
SE426 - Emerging Technologies (2 + 2) 5
What is an "Emerging Technology", disruptive technologies; identification of disruptive technologies; the 3D printing revolution; the evolution of technology; the nature o innovation; combination and structure; phenomena, domains and problem-solving; origin of technologies; technological revolution; economic revolution; forecasting.
SE440 - Analysis and Design of User Interfaces (3 + 0) 5
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.
SE450 - Software Engineering Ethics (3 + 0) 5
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 decis
SE453 - Large Scale Software Development (3 + 0) 5
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 viewpo
SE460 - Software Construction (3 + 0) 5
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.
SE462 - Formal Methods in Software Engineering (3 + 0) 5
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 cyc