COMPUTER PROGRAMMING PROGRAM COURSE CONTENTS
CPR 101 Computer Programming I
Computer Programming I is a course that teaches basic programming concepts and introduces students to the software development process. This course allows students to create algorithms, solve problems, understand the basic building blocks of programming languages, and develop basic programming skills. Throughout the course, students will practice programming logic and improve their programming skills from simple to complex.
CPR 102 Computer Programming II
This course is an advanced study of software development processes. This course aims to teach students algorithmic thinking skills to solve more complex problems. Focusing on advanced programming concepts enables students to use data structures and develop efficient algorithms effectively. The course introduces students to the principles of object-oriented programming and best practices in software design and application development.
CPR 106 Web Programming
Web Programming is a course that teaches the basic principles and applications of modern web technologies. This course teaches students how to create interactive and user-friendly web pages using web technologies such as HTML, CSS, and JavaScript. In addition, topics such as server-side programming languages and database management are covered, and students gain skills in developing dynamic web applications. Topics such as web security, performance optimization, and user experience can also be included in the course.
CPR 108 Computer Hardware
Computer Hardware is a course that focuses on understanding computer systems’ physical components and functions. This course examines in detail how hardware components such as processors, memory, storage devices, input/output devices, etc., which are the basic building blocks of a computer, work and come together. It aims to provide students with practical skills in selecting, installing, maintaining, and troubleshooting hardware components.
CPR 201 Software Development Fundamentals
This course provides students with an understanding of the processes of planning, designing, developing, and managing software projects by providing them with knowledge covering each phase of the software lifecycle. In addition to basic programming skills, it develops problem-solving abilities and encourages students to collaborate effectively on projects emphasizing teamwork.
CPR 205 Data Structures
Data Structures is a course focusing on data organization and management, a fundamental concept in computer science. This course covers the methods used for creating, storing, accessing, and manipulating data structures and algorithms that use data structures. By providing students with the ability to analyze the performance of data structures, it provides the knowledge and skills needed to improve efficiency in programming and software development processes.
CPR 207 Object-Oriented Programming
Object-Oriented Programming (OOP) is a programming paradigm used in the software development process. In this paradigm, we design software by breaking it down into structural units called objects. Each object contains data fields (attributes) and methods to operate on that data. OOP increases code reusability, makes it easier to maintain, and allows us to manage large-scale software projects more efficiently. The main OOP principles include inheritance, polymorphism, encapsulation, and abstraction. This course aims to teach students the basic principles of OOP, its application methods, and how to use it in software development processes.
CPR 209 Computer Networks
Computer Networks course can be defined as a course that covers the disciplines that study the communication and data sharing of computer systems. This course teaches computer networks basic principles, protocols, management, and security. It teaches students about network architecture, communication technologies, data transmission, and routing. It also helps them develop network management skills in a modern information technology environment by providing them with an understanding of the design, implementation, and troubleshooting of networks.
CPR 204 Software Project
Software Project is a course that teaches students the skills to manage software development processes. This course teaches students project planning, requirements analysis, design, implementation, and testing. It also provides students with experience in teamwork, resource management, and project management, enabling them to succeed in real-world projects.
CPR 208 Operating Systems
Operating Systems is a core discipline in computer science that aims to provide students with an in-depth knowledge of computer systems’ management and operating principles. This course aims to provide students with the theoretical and practical skills necessary to efficiently manage computer systems by addressing operating systems’ functions, components, design principles, and daily use scenarios. By covering topics such as file management, memory management, process management, security, and network management, students will understand the complexities of modern operating systems.
CPR 212 Database Management
Database Management is a course that focuses on designing, implementing, managing, and optimizing database systems, an important branch of computer science. This course aims to teach students the basic concepts of database management systems, relational database design, SQL queries, data normalization, and techniques to improve database security and performance. It also provides students with information about big data management, data storage technologies, and modern database trends.
CPR 210 Mobile Application Development
The Mobile Application Development course is designed to teach students software development processes for mobile platforms. This course covers the basic concepts of mobile application development, programming languages, user interface design, data management, security principles, and mobile application lifecycle. It also prepares students for the industry by providing practical experience with tools and technologies used in the application development process.
CPR 251 Concurrent Programming
Concurrent Programming is a fundamental concept in computer science that deals with the programming paradigm in which multiple processes are executed simultaneously. This course covers topics such as multi-core processors, parallel programming models, synchronization techniques, and concurrency problems. By gaining practical experience in designing and implementing parallel algorithms, students acquire the fundamental skills needed to improve performance in modern computer systems.
CPR 252 Human-Computer Interaction
Human-Computer Interaction (HCI) is a course combining computer science and user experience. This course aims to understand and improve the interaction of computer systems with humans. It focuses on topics such as user interfaces, interaction design, usability principles, user experience research, and user-centered design methods. Students explore human-centered approaches to design and understand the needs of technology users while developing practical skills for solving real-world problems.
CPR 253 Game Design and Programming
Game Design and Programming course offers a comprehensive curriculum that teaches students the basic principles and techniques of the game development process. This course allows students to develop their programming skills while understanding the fundamentals of game design. Students will learn game mechanics, graphics and sound design, artificial intelligence and user interface to create interactive and fun games. In addition, project-based learning methods are used to encourage students to develop their creativity and problem-solving skills.
CPR 254 Cloud Computing
Cloud Computing is a course that covers cloud computing technologies in detail, an important topic in computer science and information technology. This course teaches students the basic principles, architecture, and operation of cloud computing systems. It also covers topics such as cloud-based service models, virtualization technologies, data security, service level agreements, and cloud infrastructure management. Students gain the theoretical and practical knowledge necessary to understand real-world applications and effectively design and manage cloud computing solutions.
CPR 255 Graphics and Animation
Graphics and Animation course aims to teach students the basic principles and practices of digital art. This course covers computer-based graphic design and animation’s history, techniques, and artistic approaches. Students develop skills in creating, editing, and manipulating visual elements using industry-standard software. They also learn 2D and 3D animation techniques and learn to design and present motion graphics and characters. This course allows students to work on professional-level digital art and animation projects while developing creative thinking and problem-solving skills.
CPR 256 Artificial Intelligence
Artificial Intelligence is an interdisciplinary course that teaches fundamental concepts, algorithms, and applications in the fields of computer science and artificial intelligence. This course provides students with theoretical and practical knowledge, including topics such as machine learning, data mining, natural language processing, and artificial neural networks, and provides an understanding of the design, development, and implementation of artificial intelligence systems. Students develop skills in analyzing problems, working with data, building models, and interpreting results while discussing topics such as ethical issues and the future of artificial intelligence.
CPR 257 Internet Programming
Internet Programming is a course that provides students with basic and advanced skills in developing web-based applications. This course teaches important web technologies such as HTML, CSS, and JavaScript and covers server-side programming languages and database management. Students develop projects to solve real-world problems and practice in various areas, from user interface design to data management. The Internet Programming course prepares students for the industry by introducing them to modern software development processes and teamwork dynamics.
CPR 258 Visual Programming
Visual Programming is a course that aims to develop programming skills using visual tools in computer science and software development. This course provides students with basic knowledge and skills in designing graphical user interfaces (GUI), event-driven programming, and the use of visual components. Students learn to develop GUIs, usually with programming languages such as Java, C#, and Python, and learn how to enrich their applications visually. Visual programming is an important part of modern software development processes prioritizing the user experience.
CPR 259 Content Management System
Content Management System course is a discipline that teaches information management and content creation processes in digital environments. This course teaches students how to develop content strategies for websites, mobile applications, or other digital platforms, content planning, and production techniques. In addition, topics such as the use of content management systems (CMS), content publishing processes, content updating, and management techniques are also examined in detail in this course.
CPR 260 Embedded System Design
Embedded System Design is a course that deals with designing, developing, and implementing embedded systems, which have an important place in computer engineering and related disciplines. This course aims to give students basic knowledge of microprocessors, sensors, data communication protocols, etc. It also develops skills to integrate software and hardware components of embedded systems for real-world applications. Students also gain in-depth knowledge on topics such as inter-system communication and power consumption optimization.
MATH 103 General Mathematics
Functions and graphs, linear functions and lines, polynomials, exponential and logarithmic functions, simple interest, compound interest, effective rates, future value, present value, amortization and installments, limits, derivatives, marginal analysis in economics, and optimization.
MATH 104 Discrete Structures
The Discrete Structures course is considered a fundamental course in computer science and mathematics. This course aims to develop mathematical thinking skills and allows students to analyze and solve problems with algorithmic thinking. It also covers topics including graph theory, combinatorics, logical thinking, and mathematical proof techniques. This course provides students with a solid foundation for further computer science and advanced mathematics studies.