Computer Fundamentals and Introduction to Programming
Undergraduate, Giresun University, Electrical Electronics Engineering, 2026
Modern computing encompasses a vast ecosystem of interconnected technologies and tools that have become integral to our daily lives. Computers are sophisticated electronic devices managed by operating systems, which serve as the interface between hardware and software. The Internet has transformed these individual machines into a global network, enabling instantaneous communication and access to unlimited information and services. In our professional lives, we regularly interact with office programs such as word processors, spreadsheets, and presentation software, which have digitized and streamlined workplace tasks. Behind all these tools lies the art of programming - the fundamental skill of creating software by writing instructions in various programming languages.
Ders Öğretim Planı
Announcements
There are currently no announcements.
Course resources
- Çukurova Üniversitesi - Enformatik Bölümü (website)
- Cody — introductory coding exercises (website)
- Blockly — visual exercises for algorithms (website)
- Eclipse IDE for Java Development (website)
Past Exams
Chapter 1: Computer Fundamentals and Computational Thinking
A computer is a remarkable electronic device that has revolutionized the way we live, work, and communicate. At its core, it’s a machine that processes information using a series of precise instructions called programs. Programming is the art and science of creating these instructions, allowing us to harness the computer’s incredible power to solve problems, automate tasks, and create innovative solutions. Through programming languages - which act as bridges between human thinking and machine operations - we can command computers to perform complex calculations, manage vast amounts of data, and create everything from mobile apps to artificial intelligence systems. This fascinating field combines logical thinking, creativity, and problem-solving skills, making it both challenging and incredibly rewarding for those who venture into it.
- 🖼️Sunum - Temel Kavramlar (pdf)
- 🖼️Sunum - İnternet (pdf)
- 🖼️Sunum - Donanım (pdf)
- 🖼️Sunum - Bilgisayarlar (pdf)
- 🖼️Sunum - Hesaplama (pdf)
Chapter 2: Operating Systems
An operating system manages hardware resources and provides common services for applications. It coordinates processes, memory, files, storage devices, input/output operations, user accounts, permissions, and communication with peripheral devices. Systems such as Windows, macOS, and Linux also provide interfaces through which users and applications interact with the computer.
Chapter 3: Office Applications
Office applications include word processors for creating structured documents, spreadsheets for organizing and analyzing data, and presentation tools for communicating information visually. Although this course uses Microsoft Word, Excel, and PowerPoint, the underlying concepts apply to other productivity suites as well.
Chapter 4: Introduction to Programming and Java
Programming is the art and science of instructing computers to perform specific tasks through carefully crafted sets of instructions. It serves as the foundation for all software development, from simple mobile apps to complex enterprise systems. Programming languages like Python, Java, and JavaScript provide different approaches to solving computational problems, each with its own syntax and capabilities. The field encompasses fundamental concepts such as variables, control structures, data types, and algorithms, which combine to create powerful software solutions. Learning to program develops critical thinking skills, problem-solving abilities, and logical reasoning, while opening doors to careers in software development, data science, artificial intelligence, and many other technology-driven fields.
- 🖼️Sunum - Programlamaya Giriş (pdf)
- 🖼️Sunum - Algoritmalar (pdf)
- 🖼️Sunum - Akış Diyagramları (pdf)
- 🗒️Lecture Notes (pdf)
- 💻Code Examples (java)
Chapter 5: Basic Syntax and Data Types
Understanding the fundamental syntax and data types of Java is essential for building effective and efficient software systems, as it provides the building blocks for defining program logic, manipulating data, and communicating with external resources.
- 🖼️Sunum - Java Programlama Temelleri (pdf)
- 🖼️Sunum - Söz Dizimi (pdf)
- 🗒️Lecture Notes (pdf)
- 💻Code Examples (java)
Chapter 6: Control Structures
Control structures, which include conditional statements and loops, provide a powerful mechanism for controlling the flow of execution in a Java program, enabling developers to create complex, dynamic behaviors and respond to a wide range of inputs and events.
- 🖼️Sunum - Kontrol Yapıları (pdf)
- 🖼️Sunum - Örnek Uygulamalar (pdf)
- 🖼️Sunum - Örnek Fonksiyonlar (pdf)
- 🖼️Sunum - Örnek Çıktılar (pdf)
- 🗒️Lecture Notes (pdf)
- 💻Code Examples (java)
Chapter 7: Methods and Recursion
Methods are reusable blocks of code defined within classes. They improve program organization, readability, and maintainability by encapsulating specific operations. A method may receive values through parameters and may return a result. Recursive methods solve problems by calling themselves with progressively smaller inputs.
Chapter 8: Arrays and Strings
Arrays store a fixed number of elements of the same type and provide efficient indexed access. They are useful when the required size is known in advance, but inserting or removing elements may require additional work because an array cannot dynamically change its length.