General electives can be selected from all the courses offered at Koç University.

CHBI 511 / SUSTAINABLE ENERGY
Sınıf: Credit: 3Precondition:

Examine the technologies, environmental impacts and economics of main energy sources of today and tomorrow including fossil fuels, nuclear power, biomass, geothermal energy, hydropower, wind energy, and solar energy. Comparison of different energy systems within the context of sustainability. Hydrogen economy and fuel cells.

CHBI 512 / CATALYSIS AT SURFACES
Sınıf: Credit: 3Precondition:

Adsorption on surfaces, structural and dynamic considerations in adsorption, thermodynamics of adsorption, methods for catalyst characterization, pore structure and surface area, surface chemistry of catalysis, metals, highly dispersed catalysts, industrial examples with emphasis on energy production

CHBI 515 / REFINING TECHNOLOGIES
Sınıf: Credit: 3Precondition:

Crude oil and biomass refining technologies. Fractionation, catalytic- and thermo- cracking, gasoline and diesel upgrading and other side processes in crude oil refining; gasification, pyrolysis, transesterification and condensation processes in biomass refining; economical and environmental factors in refining.

CHBI 516 / BIOTECHNOLOGY
Sınıf: Credit: 3Precondition:

Recombinant DNA, enzymes and other biomolecules. Molecular genetics. Commercial use of microorganisms. Cellular reactors; bioseparation techniques. Transgenic systems. Gene therapy. Biotechnology applications in environmental, agricultural and pharmaceutical problems.

CHBI 517 / DRUG DESIGN
Sınıf: Credit: 3Precondition:

Drug design consists of identifying a target (DNA, RNA, proteins) that is known to cause a certain disease and selectively inhibiting or modifying its activity by binding a drug molecule to a specified location on that target. In this course, computational techniques for designing such a drug molecule will be taught. The topics to be covered are: Identification of the active part. Forces involved in drug-receptor interactions. Screening of drug libraries. Use of different software to determine binding energies. Identifying a lead molecule. Methods of refining a lead molecule for better suitability. Case studies: A survey of known drugs, success and failure stories.

CHBI 530 / SYSTEM BIOLOGY
Sınıf: Credit: 3Precondition:

Reconstruction of metabolic network from genome information and its structural and functional analysis, computational models of biochemical reaction networks; system biology in drug discovery and proteomics, flux balance analysis; modeling of gene expression; system biology in artificial intelligence. These concepts will be supported with statistic, thermodynamic, structural biology and learning machine

CHBI 531 / MODELING AND SIMULATION OF CHEMICAL AND BIOLOGICAL PROCESSES
Sınıf: Credit: 3Precondition:

Modeling concepts and tools for chemical and biological systems. Steady state and transient modeling and simulation. MATLAB based case studies. Selected topics from the curriculum such as reaction stoichiometry, kinetics modeling, reactors, equation of state, phase equilibria, staged operations, fluxes, diffusion and convection, parameter estimation.

CHBI 584 / TISSUE ENGINEERING
Sınıf: Credit: 3Precondition:

The fundamentals of tissue engineering at the molecular and cellular level; techniques in tissue engineering; problems and solution in tissue engineering; transplantation of tissues in biomedicine using sophisticated equipments and materials; investigation of methods for the preparation of component of cell, effect of growth factors on tissues.

CHBI 585 / MOLECULAR MODELING AND SIMULATIONS
Sınıf: Credit: 3Precondition: CHBI. 204 or consent of the instructor

Principles of molecular modeling in chemical engineering applications; fundamentals for molecular simulation of adsorption and diffusion processes in nanoporous materials; molecular dynamics methods for gas transport in nanopores; Monte Carlo methods for equilibrium based gas separations; molecular modeling of zeolites and metal organic frameworks for gas storage.

COMP 100 / INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING
Sınıf: Credit: 3Precondition:

Overview of computers, Programming, algorithms, and programming languages. Programming with Python: Data types, variables, operators. Control statements: conditionals, loops, iteration. String manipulation. Functions, recursion, decomposition and abstraction. Tuples, lists, dictionaries. Aliasing, mutability, cloning. Files. Object oriented programming, classes, inheritance. Testing, debugging, exception handling, program efficiency.

COMP 106 / DISCRETE MATHEMATICS FOR COMPUTER SCIENCE AND ENGINEERING
Sınıf: Credit: 3Precondition:

An introductory course covering: Logic, formal reasoning, propositional ?logic, sets, growth of functions, algorithmic complexity, number theory, mathematical induction, ?combinatorics, recurrence, generating functions, relations, graphs, and models of computation.

COMP 110 / INTRODUCTION TO COMPUTER PROGRAMMING WITH MATLAB
Sınıf: Credit: 3Precondition:

COMP 110 is a first course in computer programming. The objective is to introduce the principles of computer programming and algorithm development using Matlab, with particular emphasise on scientific computation and data processing. Topics covered include basic computer literacy and organization; variables, operators, expressions, data types, arrays, matrices; conditional and repetition control statements; modular programming, built-in and user-defined functions; string manipulation; text and binary file processing; structures; debugging; data plotting and visualization; graphical user interfaces.

COMP 130 / INTRODUCTION TO PROGRAMMING (JAVA)
Sınıf: Credit: 3Precondition:

This course is a general introduction to programming using the Java programming language. It emphasizes the structured programming language aspects of Java and de-emphasizes its object-oriented aspects. The latter are covered only to the extent that enables students to use standard Java libraries for common tasks. Students who complete this course successfully should gain a solid foundation in algorithmic thinking and structured programming, and should be able to perform basic, common computational tasks easily and efficiently.

COMP 132 / ADVANCED PROGRAMMING
Sınıf: Credit: 3Precondition: COMP 100 or COMP. 131 or 130 consent of the instructor

Object oriented programming using Java. Data types, expressions, control statements, strings, arrays. Classes, objects, methods, overloading, variable scope, memory. Recursion. Inheritance, polymorphism, abstract classes, interfaces, nested classes, anonymous classes. Exception handling. Strings and regular expressions. File I/O. Generic collections. Generic classes and methods. Lambdas and streams. Event-driven programming. Multithreading.

COMP 200 / STRUCTURE AND INTERPRETATION OF COMPUTER PROGRAMS
Sınıf: Credit: 3Precondition: COMP. 106 or consent of the instructor

Introduction to core software engineering concepts. Control of complexity in large programming systems. Building abstractions with procedures and data. Modularity, objects and state. Machine models, compilers and interpreters. Concurrency.

COMP 202 / DATA STRUCTURES&ALGORITHMS
Sınıf: Credit: 3Precondition: (COMP. 106 or INDR 201) and (COMP. 131 or COMP 130 or COMP 132)

Basic data structures, algorithms, and their computational complexity. List, stack, queue, priority queue, map, tree, balanced tree, hash table, heap, skip list, trie, graph. Basic search, selection, sorting, and graph algorithms. Recursion.

COMP 230 / C PROGRAMMING FOR SOLVING ENGINEERING PROBLEMS
Sınıf: Credit: 3Precondition:

Engineering problem solving and design using C programming language. The course will cover basic syntax/grammar and concepts of C programming language, including control flow, functions and modular programming, static and global variables, pointers and memory addressing, arrays and pointer arithmetic, strings and searching and sorting, followed by example engineering analysis and design problems, including electric circuit analysis, digital signal processing, machine learning, finance, and data analysis.

COMP 291 / SUMMER PRACTICE I
Sınıf: Credit: 0Precondition: ACWR 101

A minimum of 20 working days of training in an industrial summer practice program after the completion of second year. The training is based on the contents of the "Summer Practice Guide Booklet" prepared by each engineering department. Students receive practical knowledge and hands-on experience in an industrial setting.

COMP 301 / PROGRAMMING LANGUAGE CONCEPTS
Sınıf: Credit: 3Precondition: COMP. 200 or COMP 201 and COMP 202

Programming languages concepts and paradigms. Functional programming. Abstraction, encapsulation, type systems, binding, parameter passing, run-time storage, memory, stack, heap, interpreters. Implementation strategies for interpreters. Data representation, sets, syntax, semantics, behavior specification and implementation.

COMP 302 / SOFTWARE ENGINEERING
Sınıf: Credit: 3Precondition: COMP 132 and COMP. 202 or consent of the instructor

Review of methods and tools used in software development. Object oriented design and open software architectures. Requirements analysis, design, implementation, testing, maintenance and management. Engineering applications.

COMP 303 / COMPUTER ARCHITECTURE
Sınıf: Credit: 3Precondition: ELEC. 204 or consent of the instructor

Hardware organization of computers. Computer components and their functions. Instruction sets, instruction formats and addressing modes. Pipelining and pipeline hazards. Instruction level parallelism. Assembly and machine language. Data and control paths. Computer arithmetic. Floating point representation. Memory hierarchy, cache organization and virtual memory. Parallel architectures.

COMP 304 / OPERATING SYSTEMS
Sınıf: Credit: 3Precondition: (COMP. 132 and (COMP. 303 or Comp 200)) or COMP 201 or consent of the instructor

Introduction to operating systems concepts, process management, memory management, virtual memory, input-output and device management, file systems, job scheduling, threads, process synchronization, deadlocks, interrupt structures, case studies of operating systems.

COMP 305 / ALGORITHMS&COMPLEXITY
Sınıf: Credit: 3Precondition: COMP 202 and (ENGR 200 or ENGR 201 or MATH 211)

Advanced topics in algorithms, and their computational complexity. Amortized complexity analysis. Randomized algorithms. Greedy algorithms. Dynamic programming. Linear programming. Advanced graph algorithms. Turing machines and models of computation. NP-completeness reductions.

COMP 306 / DATABASE MANAGEMENT SYSTEMS
Sınıf: Credit: 3Precondition: COMP. 202 or consent of the instructor

Conceptual and practical aspects of databases and database management systems. Entity-relationship model, relational model, relational algebra, Structured Query Language (SQL), normal forms and normalization, transaction management, scheduling and serializability, concurrency control and locking, indexing, recent trends in databases and NoSQL.