This repository contains all the assignments done at Gebze Technical University. Some of the programming languages used in these assignments are Java, C++, C, Python, Lisp, Verilog, and Prolog.
This is an introductory course to programming: The course aims to teach students how to write programs in the C programming language and how to read existing programs. It aims to provide students with the experience of creating problem solutions as algorithmic steps and expressing them in a programming language. The ultimate goal is to enable students to prepare software that can be used by others. Includes 12 homeworks.
Providing information about discrete structures and the foundations of discrete mathematics. Explaining the applications of discrete mathematics in computer science to help students understand this relationship. Includes 3 homeworks.
To teach fundamental data structures and algorithms that can be used in designing software solutions for problems and introduce data structures and algorithms. Includes 8 homeworks.
The course aims to teach students the fundamentals of logic design, synthesis, and verification using hardware description languages. It focuses on constantly evolving applications of basic computer design concepts with strong connections to real-world technology. Includes 4 homeworks.
To explain the fundamentals of object-oriented programming and introduce the syntax structure of object-oriented programming. Includes 8 homeworks.
The aim of this course is to teach students various fundamental algorithms that can be used to solve everyday problems. It includes analyzing these algorithms from different perspectives, such as their runtime, memory usage, and energy consumption. The course also covers comparing their performances and teaching algorithm design methods. Includes 5 homeworks.
The course aims to teach assembly programming and the assembly command architecture. It strives to enable students to apply computer arithmetic and design ALUs (Arithmetic Logic Units). It also covers designing and modifying MIPS single-cycle, multi-cycle, and pipelined computer architectures from scratch. Students will be able to calculate the performance of different computer architectures under different test programs and analyze virtual memory and cache organization. Includes 4 homeworks.
The course aims to introduce the fundamental concepts of programming languages and compare the differences between various languages. Includes 4 homeworks.
The course aims to equip students with the necessary knowledge and skills for the Software Engineering field in a workplace setting. It provides students with the expertise to work as team members or team leaders effectively. By utilizing the latest technologies, the course offers hands-on experience in applying software engineering methodologies to a predefined project. Students will also learn to develop systematic documentation required throughout the software development life cycle as a part of a software development team. Includes 2 homeworks.
This course is intended for under graduate students in computer engineering, the main objective of the course is to present the fundamental aspects of systems programming. Includes 4 homeworks, 1 midterm and 1 final.
This course aims to empower students with ability to study fundamentals of database systems and from these fundamentals, ability to design and operate modern databases. Includes 2 homeworks and 1 project.
This course aims to introduce basic concepts about the theory of computation and various computational models. By the end of this course students should be able to make use of alternative computational models during design of their solutions and understand emerging new computational models and assess their relative strengths and weeknesses. Includes 1 homework and 1 project.
Aim of this course is to expose object oriented design issues. To give design issues to students for object oriented programming. Includes 1 homework.
The purpose of this course is to teach students how to make large data more benefitable and perform the processes required for providing the useful knowledge to decision support systems. It is aimed to teach students how to detect the information, pattern and rules hidden in data and convert the data in understable form and evaluate the findidngs. Includes 2 homeworks and 1 project.
The course aims to teach how to create systems that can understand and produce language, for applications such as information extraction, machine translation, automatic summarization, question-answering, and interactive dialogue systems. Includes 3 homeworks.
Students will be prepared to real working environments through hands-on problem analysis, project planning and management, realization, testing presentation and document generation. Includes 3 presentations and 1 report.
Students will be prepared to real working environments through hands-on problem analysis, project planning and management, realization, testing presentation and document generation. Includes 3 presentations and 1 report.