Computer Science Tutorials — Algorithms, Data Structures, OOP and Programming Styles

Flat illustration of four computer science discipline cards showing algorithms sorting chart data structures tree OOP class diagram and programming styles lambda symbol connected in blue and white

Computer science is the intellectual foundation beneath every line of code you write. While programming teaches you how to instruct a computer, computer science teaches you why certain approaches work better than others — why one algorithm processes a million records in seconds while another takes hours, why the right data structure makes the difference between elegant and unworkable code, and why the principles of object-oriented design produce software that survives contact with the real world.

MYCPLUS has been publishing computer science tutorials and practical programming guides since 2004, building a comprehensive resource covering the core theoretical and applied topics that every serious programmer needs to understand. This Computer Science hub brings together four interconnected areas of study — Algorithms, Data Structures, Object-Oriented Programming and Programming Styles — each with its own dedicated section of in-depth tutorials, practical examples and working source code.

Tis section gives you the theoretical understanding and hands-on programming experience to write better software, solve harder problems and think more clearly about how programs work. Whether you are studying for exams, preparing for technical interviews or simply becoming a stronger programmer — start here.

What You’ll Learn

  • Algorithms — sorting, searching, graph traversal, dynamic programming and optimisation techniques with working C implementations and complexity analysis for real-world problem solving
  • Data structures — arrays, linked lists, stacks, queues, trees, hash tables and graphs with practical C and C++ source code examples and guidance on choosing the right structure for every problem
  • Object-oriented programming — the complete OOP model including encapsulation, inheritance, polymorphism and abstraction with practical examples across C++, Java and C# for real-world software design
  • Programming styles and paradigms — procedural, object-oriented, functional and declarative programming approaches with examples showing how modern developers apply multiple paradigms in professional codebases
  • Algorithm complexity and analysis — understanding Big O notation, time and space complexity, best and worst case analysis and applying complexity thinking to write more efficient everyday code
  • Applied computer science — bridging theory and practice by applying computer science principles to real programming problems in C, C++ and Java with source code you can study and build on immediately

Explore the four core areas covered in this section:

Algorithms — sorting, searching, graph traversal and optimisation
Data Structures — arrays, linked lists, trees, stacks and graphs
Object-Oriented Programming — classes, inheritance and polymorphism
Programming Styles — procedural, functional and declarative paradigms

Why MYCPLUS: Trusted by programmers and computer science students since 2004 — MYCPLUS covers all four core computer science disciplines in one place, with practical implementations in C, C++ and Java designed for both academic study and real-world software development.

c-algorithms-library

C Algorithms Library

This article is about a collection of common Computer Science algorithms which may be used in C projects. The C Programming Language has a much smaller Standard Library as compared to other more modern programming languages such as Java or Python. The library provides a basic set of mathematical functions, string manipulation, type conversions, and file and console-based I/O.

Data Structures and Algorithm Analysis in Java

Data Structures and Algorithm Analysis in Java

Delve into the fundamentals of data structures and algorithms with Data Structures and Algorithm Analysis in Java. This comprehensive guide focuses on performance optimization, scalability, and real-world Java implementations. From sorting to dynamic programming, it equips developers with the tools to build efficient, high-performance applications. A must-read for students and professionals seeking to master Java’s capabilities in solving complex computational problems.

Programming Coding

Indian Hill C Coding Styles and Standards

This document is a result of a committee formed at Indian Hill to establish a common set of coding standards and recommendations for the Indian Hill community. The scope of this work is the coding style, not the functional organization of programs. The standards in this document are not specific to ESS programming only.

Towers of Hanoi Java Program

Towers of Hanoi Java Program

This Java Program solves the Towers of Hanoi problem for a tower of 10 disks. Ten differently-sized disks are stacked in a pile, in order of decreasing size. There are two other places for piles. The object is to move the pile to the second available place, subject to the rules that only one disk at a time can be moved, and no disk can be piled on top of a smaller disk. The Towers of Hanoi problem is a standard example of recursion.

Algorithms in C

Algorithms in C

These algorithms are represented in terms of compact implementations in C so that readers can both understand their fundamental properties and implement them in real applications. The method of the analysis of algorithms is quite carefully designed. When appropriate, analytic results are described to explain why certain algorithms are preferred. In some cases, the practical algorithms’ relationship being discussed to purely theoretical results is also described.

Operations Research Applications and Algorithms

Operations Research : Applications and Algorithms

Unlock the power of optimization and problem-solving with Operations Research: Applications and Algorithms. This book equips readers with the tools to tackle complex decision-making challenges in fields like logistics, finance, and manufacturing. A must-have for anyone interested in the application of mathematical modeling and algorithms.

Solving the Knapsack Problem

Solving the Knapsack Problem with Code Examples

The Knapsack Problem is a classic optimization problem in computer science and mathematics. The goal is to maximize the value of items placed in a knapsack without exceeding its weight capacity. This problem has many variations, but the most common are: 0/1 Knapsack Problem: Each item can either be included or excluded. Fractional Knapsack Problem: Items can be divided to maximize value.

Scroll to Top