Computer and Introduction to Programming

Undergraduate course, University of Giresun, Department of Electrical Electronics Engineering, 2024

computer and programming 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 an 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ı [pdf]

Announcements:

The resources

Past Exams:

Chapter 1: Basic Concepts

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.

Chapter 2: Operating Systems

Operating systems serve as the fundamental backbone of modern computing, acting as a intermediary between computer hardware and software applications. Systems like Windows, macOS, and Linux provide essential services that manage computer resources, including memory allocation, process scheduling, file system operations, and device control. They create a user-friendly interface that allows people to interact with their computers. Additionally, operating systems handle critical security features, maintaining user permissions and protecting against unauthorized access. Through their multi-tasking capabilities, they enable users to run multiple applications simultaneously while ensuring stable performance and efficient resource utilization.

  • Sunum - İşletim Sistemleri [pdf]
  • Sunum - Windows [pdf]

Chapter 3: Office Programs

Office programs have revolutionized workplace productivity by providing digital tools that streamline traditional business tasks. Applications like Microsoft Word, Excel, and PowerPoint have become industry standards, offering powerful features for document creation, data analysis, and presentation design. Word processors enable text formatting, collaboration tools, and document tracking capabilities. Spreadsheet programs provide calculation engines, data visualization tools, and complex analytical functions that transform raw data into meaningful insights. Presentation software allows users to create slideshows with multimedia elements, animations, and interactive features. These programs continue to evolve with cloud integration, real-time collaboration features, and artificial intelligence-powered assistance.

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.

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.

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: Functions

Functions are fundamental building blocks that allow developers to encapsulate a set of instructions into reusable units. They help improve code organization, readability, and maintainability by enabling modular design. A function typically takes input, called parameters, performs a specific task, and may return a result. Functions also promote abstraction, allowing developers to use complex operations without needing to understand their internal implementation.

Chapter 8: Arrays

Arrays are essential data structures in Java programming, providing a powerful mechanism for storing and manipulating large sets of data efficiently and flexibly, and enabling developers to build complex algorithms and data-driven applications.