The aim of the course is to give qualified engineering students a unique opportunity to teach as a part of their undergraduate experience. Students are responsible for teaching sections for the course COMP130 Introduction to Programming. Students cover and teach materials such as functional decomposition, control statements, methods, recursion, strings, arrays, abstract data types, exception handling, graphical user interface and other fundamental elements of modern programming by using the Java language.
The aim of the course is to give qualified engineering students a unique opportunity to teach as a part of their undergraduate experience. Students are responsible for teaching sections for the course COMP130 Introduction to Programming. Students cover and teach materials such as functional decomposition, control statements, methods, recursion, strings, arrays, abstract data types, exception handling, graphical user interface and other fundamental elements of modern programming by using the Java language.
The aim of the course is to give qualified engineering students a unique opportunity to teach as a part of their undergraduate experience. Students are responsible for teaching sections for the course COMP130 Introduction to Programming. Students cover and teach materials such as functional decomposition, control statements, methods, recursion, strings, arrays, abstract data types, exception handling, graphical user interface and other fundamental elements of modern programming by using the Java language.
The aim of the course is to give qualified engineering students a unique opportunity to teach as a part of their undergraduate experience. Students are responsible for teaching sections for the course COMP130 Introduction to Programming. Students cover and teach materials such as functional decomposition, control statements, methods, recursion, strings, arrays, abstract data types, exception handling, graphical user interface and other fundamental elements of modern programming by using the Java language.
Bits operations, Integer Representations, Integer arithmetic, Floating point. Strings, Pointers and Arrays. Functions, Stack and Heap. Structures. Machine level representation of programs. Memory hierarchy, caches, disks, locality. Code Optimization, debugging and profiling. Dynamic memory allocation. Static linking, object files, symbols and symbol tables. Dynamic linking with shared libraries.
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.
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.
Introduction to artificial intelligence concepts; agent based thinking; uninformed and informed search; constraint satisfaction; knowledge representation; logic; introduction to machine learning and its relation to artificial intelligence; representing uncertainty; markov decision processes; examples from vision, robotics, language and games.
Principles of computer networks and network protocols; Internet protocol stack with emphasis on application, transport, network and link layers; network edge and network core; client/server and peer-to-peer models; routing algorithms; reliable data transfer; flow and congestion control; protocol design and analysis; network performance metrics; software-defined networks; network programming and distributed applications.
Threats to data privacy and security; methods for privacy-preserving data collection, analysis, and sharing; data anonymization; differential privacy; security and privacy in machine learning; adversarial machine learning; real- world applications and case studies.
Basic linear models for classification and regression; stochastic gradient descent (backpropagation) learning; multi-layer perceptrons, convolutional neural networks, and recurrent neural networks; recent advances in the field; practical examples from machine translation, computer vision; practical experience in programming, training, evaluating and benchmarking deep learning models.
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.
A capstone design course where students apply engineering and science knowledge in a computer engineering design project. Development, design, implementation and management of a project in teams under realistic constraints and conditions. Emphasis on communication, teamwork and presentation skills.
Threats to data privacy and security; methods for privacy-preserving data collection, analysis, and sharing; data anonymization; differential privacy; security and privacy in machine learning; adversarial machine learning; real- world applications and case studies.
Basic linear models for classification and regression; stochastic gradient descent (backpropagation) learning; multi-layer perceptrons, convolutional neural networks, and recurrent neural networks; recent advances in the field; practical examples from machine translation, computer vision; practical experience in programming, training, evaluating and benchmarking deep learning models.
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.
Presentation of research topics to introduce the students into thesis research.
Communication with the patient and the caregivers, essential history taking and physical examination practices, requesting goal-directed laboratory tests and interpretation of all patient-related information accurately in the fields of cardiology, pulmonary system diseases and infectious diseases. Common and important medical diseases, signs and symptoms of diseases, laboratory methods and imaging modalities. Acute, chronic diseases and their management.
Intensive seminar on selected management topics.
Some of the most important theoretical questions of the social sciences have been posed by scholars pursuing investigations at the intersection of sociology and history. How are these questions formulated and answered? How important is a consideration of the temporal nature of human actions and social structures and what are its consequences for our understanding of social life? How does the past "matter" to the present? This course addresses these questions and introduces students to some key theories, methodological contributions and a selection of substantive themes in comparative and historical sociology.
Analysis of Ottoman state, institutions and culture with a specific emphasis on state and social group relations in the nineteenth century Ottoman Empire. Evolution of social change from the Classical Age to the end of the empire, rise of local nationalisms, ruptures and continuities between the Ottoman imperial regime and nation-states.