Melike Geçer

Bachelor’s Degree Courses

Click on GitHub icon to see projects done for a course or click to see the main repository for Bachelor’s Degree Projects

CSE007 - Computing Orientation Introduction to the field of comuting. Overview of computing and their dependencies. Overview of the industrial practice of computing.

CSE111 - Fundamentals of Programming
See GitHub repository
Introduction to computers, computer programs and the Java language, identifiers, variables, assignment statements, constants, data types, casting, selections, loops, methods, arrays, strings and characters.
Technologies used; Java 7 and Dr.Java

CSE112 - Object Oriented Programming
See GitHub repository
Objects and classes, constructors, static variables, constants and methods, visibility modifiers, passing objects and object arrays to methods, immutability, variable scopes, class abstraction and encapsulation, super and subclass concepts, inheritance, polymorphism, overriding, overloading, abstract classes, object-oriented design.
Technologies used; Java 7, UML Editor and NetBeans IDE

CSE202 - Data Structures and Algorithms
See GitHub repository
Algorithm analysis, linked lists, stacks, queues, trees, hashing, priority queues, sorting, graph data structures and graph algorithms.
Technologies used; Java 7 and NetBeans IDE

CSE222 - Database Systems
See GitHub repository
Entity-relationship model, database conceptual design, relational algebra, SQL, storage and indexing, B+ trees, hash indexes, query evaluation, external sorting, query optimization, normalization.
Technologies used; MySQL, Java 7, JDBC, SQL and NetBeans IDE

CSE252 - Human Computer Interaction
See GitHub repository
Principles of human computer interaction. Elements of interactive computer systems, windows, and input devices. Window systems and dialogue control. Design of dialogues for interactive systems. Psychological, physiological, linguistic, and perceptual factors. Advantages and disadvantages of various interaction techniques, command language syntaxes, and data presentations. Design methodology and guidelines.
Technologies used; Java 8, Java FX, NetBeans IDE and Processing

CSE312 - Analysis of Algorithms Divide-and-conquer strategy, graph algorithms, depth first search, breadth first search, shortest path algorithms, greedy strategy, dynamic programming, linear programming, numeric algorithms, NP-complete problems, approximation algorithms.

CSE332 - Operating Systems Process abstraction, program loading and execution, multithreading, scheduling, synchronization, memory management, file systems, mass storage, I/O systems.

CSE334 - Computer Networks
See GitHub repository
Network architecture, network protocols, application layer, transport, congestion, routing, link protocols, multiple access, overview of communication architectures.
Technologies used; Java 8 and NetBeans IDE

CSE341 - Computer Organization Assembly language, computer arithmetic, datapath and control, pipelining, memory hierarchy, cache.

CSE342 - Microprocessors
See GitHub repository
Elements of microprocessor systems. Hardware and software analysis. Addressing techniques. Input/Output devices. Communication busses and links. Design of microprocessor based systems. Laboratory experiments and applications of microprocessor based systems and single board microcomputer systems: Arithmetic operations, loops, moving blocks of memory, stack and subroutines, parallel I/O, interrupts, timer operations.
Technologies used; Arduino IDE, C++ and Android Studio

CSE432 - Computer and Network Security
See GitHub repository
Principles and practices of cryptography, network security and secure software: Types of attacks on computer and networks, techniques used by attackers, intrusion detection, incident response procedures and solutions, managing risks. Information security policies.
Technologies used; Java 8 and NetBeans IDE

CSE460 - Artificial Intelligence Representation of knowledge. Search and heuristic programming. Logic and logic programming. Application areas of artificial intelligence: Problem solving, games and puzzles, expert systems, planning, learning, vision, and natural language understanding. Exercises in an artificial intelligence language.

CSE462 - Natural Language Processing
See GitHub repository
Levels of natural language processing: Morphological, syntactic and semantic analysis. Transformational grammars. Applications in Prolog.
Technologies used; Python, PyCharm Edu

CSE482 - Advanced Java Programming
See GitHub repository
This course aims to introduce the students to some concepts of advanced Java programming and practice on reusing components. It focuses on Graphical User Interface (GUI), multithreading, networking, and database manipulation. By completing the course, the students should be able to write sophisticated Java applications.
Technologies used; Java 8, Java FX, JPA, JavaMail, JDBC, JUnit, MySQL and NetBeans IDE

CSE485 - Data Mining The aim of this course is to introduce the basic concepts of data mining and analysis. In this regard, we will cover the following subjects: data types, data preprocessing, frequent pattern mining, clustering, classi cation, feature selection, and data mining applications. Students will also learn how to efectively use them in real world scenarios.
Technologies used; Weka

IT486 - Geographical Information Systems This course aims to provide an understanding of the basic concepts and uses of GIS technology and corresponding concepts. After successfully completing the course, the student will: (a) understand the basic structures, concepts, theories, components and applications of GIS (b) gain an experience with a variety of GIS operations (c) understand GIS data including raster and vector data, data sources of GIS (d) describe topology and provide examples of topological relationships (e) spatial analysis and use spatial analysis to solve geographic problems (f) understand typical uses of GIS in the real world
Technologies used; QGIS

IT491 - Advanced Database Systems Fundamentals of relational databases, Data layout, buffer systems, file management, indexing techniques (tree-based and hashing). Query processing methodology, implementation of relational operators, external sorting, query optimization. Transaction models, concurrency control algorithms, database recovery.
Technologies used; MySQL, SQL

SE301 - Software Engineering
See GitHub repository
Introduction to software engineering, UML, requirements elicitation, analysis, system design, object design, testing, project management, software life cycle.
Technologies used; Java 8, JSF, JDBC, PrimeFaces, SQL, MySQL and NetBeans IDE