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.
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
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.
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.
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.
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
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.