Homeworks and projects I've done during my bachelors degree at METU Computer Engineering Department.
CENG 140: C Progamming - At the end of this course the students will be able to learn and use the C programming language to design and implement advanced computer programs. Advanced programming with C: storage and control structures, recursion and programming with dynamic data structures. Homeworks are required to run on Unix environment.
CENG213: Data Structures - At the end of this course, students are expected to be able to use appropriate data structures for the solution of a given problem. Students will also be able to design and implement abstract data types which use efficient algorithms to manipulate these data structures. Various concepts such as searching, sorting, and algorithm analysis are also introduced. Classification of data structures, space and time considerations. Linked lists, stacks and queues,priority queues. Array and pointer based implementations.Heaps and Tree structures, binary search trees,balanced AVL and red-black trees. Fundamentals of sorting and searching. Hash-tables and collision handling.Representation of graphs and introduction to graph algorithms.
CENG 315: Algorithms - To introduce some important algorithms, basic algorithm design techniques and analysis of algorithms. Selected computer algorithms: sorting, searching, string processing and graph algorithms. Algorithm design and analysis techniques. Time and computational complexities of algorithms. Introduction to NP-completeness, parallelization of algorithms, linear and dynamic programming.
CENG 331: Computer Organization - To introduce the organizational paradigms and to describe how a computing system works. Microprogramming and microprogrammed control. Input and output devices, I/O interfaces. Memory hierarchy and memory management. Fast arithmetic: fast multipliers and floating point operations. Reduced instruction set computer. Computer communications.
CENG 334: Intro to OS - : Introduction to Operating Systems. Memory Management. Process Management. Concurrent Processes. Deadlocks. Processor Management. I/O and Device Management. File Management and File Systems. Introduction to Distributed Operating Systems. Synchronization in Distributed Systems. Distributed File Systems. Overview of contemporary OS technology.
CENG 351: Data Management & File Structures - The objectives of the course are to enable the students to understand the fundamentals of file organization and processing techniques and also the internals of the storage and retrieval components of relational database systems. Introduction to DBMSs. Relational databases. Entity-Relationship data model. Relational algebra. Relational calculus. SQL. Sequential files. Unordered sequential files. Ordered sequential files. External sorting. B+tree index. Hashing. Dynamic hashing. Basics of query evaluation.
CENG 371: Scientific Computing - The aim of the course is to teach students the numerical solutions of the problems mentioned in the description with examples taken from engineering problems, to show how to handle these problems numerically and solve them by designing efficient algorithms on the computer systems. Accuracy in numerical analysis. The sources and propagations of errors. Solution of non-linear equations. Interpolating polynomials. Solution of linear algebraic equations. Least squares curve fitting. Numerical integration.
CENG 435: Data Communications and Networking - Introduction to data communications. OSI Reference Model. Physical layer. Electrical interface and data transmission. Data link layer. Media access sublayer. LAN/MAN technologies. Network layer. Inter networking. Bridging and routing. Transport layer. Introduction to upper layers issues.
CENG 483: Intro to Comp. Vision - The course introduces the basic problems, common terminology and key methods of computer vision. Main objective is to let students gain necessary skills to apply contemporary computer vision techniques to visual understanding problems in computer science and engineering. Image formation, camera models and parameters, stereo vision, shape from stereo, shape from single image cues, apparent motion, optical flow, introduction to 3D shape representation and recognition.
CENG 488: Guided Research - This course is a one-semester course for developing a novel computer science and engineering solution to a research problem to be carried out individually or by a small team of undergraduate students under the guidance of a faculty member. The course includes one term duration research project involving focused literature survey, creative problem solving, prototyping as appropriate, experimental and/or theoretical analysis, presentation and paper writing. The purpose of the guided research is for students to further explore an area of interest she/he may have just scratched the surface of during one of the core courses. The objective of the course is to provide a medium for undergraduate students who want to take part in research projects and gain research experience. At the end of the course, the students will gain: experience on conducting research, ability to work as a part of research group, experience on academic paper writing and presentation.
CENG 499: Intro to Machine Learning - This course provides a broad introduction to machine learning. The topics include supervised and unsupervised learning, Bayesion inference/classification, regression, clustering, kernels and Support Vector Machines (SVM) and accompanying concepts such as model and feature selection, combining classifiers such as boosting, active learning, dimension reduction techniques.
Source : https://catalog.metu.edu.tr/prog_courses.php?prog=571