Skip to main content

Computer Science Start Story

Computer Science Love Story

This article will delve into the genesis of my passion for computer science and the process I underwent to immerse myself in this captivating and ever-evolving field. Let's embark on this journey:

Start of a Journey:

Like many children of our generation, my fascination with computer games was inevitable. I was particularly addicted to CS: Global Offensive, an extraordinary game with a community that I loved beyond words. However, as with any addiction, there comes a moment when every kid must wake up to reality and step outside the door (in my case, it was inside a virtual door).

After obtaining my baccalaureate, I made a pivotal decision to pursue Computer Science and Mathematics at 8 May 1945 Guelma University. This marked the beginning of a voyage into incredible worlds and fascinating languages. It was during this time that I realized computers have their own language, and we can communicate with them. I found myself conversing with the computer every day, even when playing games.

Those clicks of the mouse during the game weren't merely about shooting another player; they were commands to the computer, instructing it to fire the gun. The computer, in turn, communicated with a larger system (a server), informing it that the shot had been fired. This massive computer then relayed the message to the other player's computer, letting them know they had been shot. (A simplistic explanation, but one that resonated with the curiosity of a child.)

Every Newborn Computer Scientist Kit:

In the university's nurturing environment, I encountered a comprehensive toolkit every aspiring computer scientist is handed – a toolkit comprising algorithms, data structures, analysis, algebra, computer components and architecture, machine languages, and logic. These components form the backbone of a computer scientist's arsenal, providing the essential skills to navigate the complexities of this dynamic field.

  1. Algorithms:

      The heart of problem-solving in computer science, algorithms are the step-by-step procedures that guide the computer in performing tasks efficiently. Understanding and implementing algorithms became an integral part of my academic journey.

  2. Data Structures: 

    The organizational structures that enable effective data storage and retrieval. Mastery over data structures equips a computer scientist with the ability to optimize information handling.

  3. Analysis: 

     Learning to analyze algorithms and systems critically, evaluating their efficiency and performance. This skill is crucial in designing robust and scalable solutions.

  4. Algebra: 

     The mathematical foundation that underpins many computer science concepts. Algebraic principles are woven into the fabric of programming and problem-solving.

  5. Computer Components and Architecture: 

    Delving into the intricacies of computer hardware and the architecture that governs their functionality. This knowledge is vital for understanding the hardware-software interface.

  6. Machine Languages: 

    Unraveling the languages that computers speak at their core. Studying machine languages provides insight into the fundamental operations of a computer system.

  7. Logic:

      The study of reasoning and argumentation, essential for constructing coherent and logical programs. Logical thinking is a key asset in the world of programming.

These subjects formed the bedrock of my education, offering a comprehensive understanding of computer science and mathematics. As I delved into each module, the realization deepened that I was not merely learning about computers; I was learning the language of a powerful ally.

 

Computer Scientist's Curiosity: A Journey through Programming Language

 nce you step into the vast realm of computer science, there's no turning back – the curiosity only deepens. As you strive to apply your knowledge, each test and idea unveil the never-ending learning phase (which, by the way, is never-ending; if you stop, you lose – LOL). For example, you'd love to see your algorithmic solutions for some problems working and try new solutions. The funny part is that your solution has probably been found by others, and they might have a better one, but anyway, it's a small achievement – LOL

for example you will explore sorting puzzle algorithms and attempt to innovate new ones; perhaps yours will be more optimized than the already discovered ones, such as bubble sorting or other classics like quicksort, mergesort, and heapsort.

After you get familiar with algorithms, you start with the secret sauce: the languages to which you will transfer your solutions, such as C, C++, Java, Python, etc. The fastest one is C, by the way. The easier structure is Python, and each language has its own advantages, specialties, and communities (that would follow you to your house and execute you if you say they are bad :p).

 

Programming Languages: Unlocking the Diversity

  • C Language: 

     often hailed as the "mother of languages," is a foundational language known for its efficiency and versatility. that was created in the early 1970s by Dennis Ritchie at Bell Labs.

This was my first learning language, and I loved it. I translated multiple algorithmic solutions with it for problem topics provided in university. My mentors presented management cases, system sorting (FIFO, SRT, SJF, and more). Anyway, I didn't take long and jumped to another languages.

  • Java: 

    Java is a high-level, object-oriented programming language that was developed by Sun Microsystems and released in 1995. It is designed to be platform-independent, meaning that Java programs can run on any device that has a Java Virtual Machine (JVM).  

    I loved the object-oriented system in Java. It opened a new methodology of solving problems in my mind. It was hard to learn at first, but as you grasp the basics, everything becomes easy to piece together.

  • Python:

     high-level, interpreted programming language known for its simplicity and readability. It was created by Guido van Rossum and first released in 1991.

     You would love the simplicity of this language and the diverse world of frameworks. Anything you want or come to mind, there's someone who made a framework for you to use. Of course, you can help them or create your own. Anyway, here I started my first GUI games, such as a simple TIC-TAC-TOE that I loved. But I couldn't stay long; I created a chess game, which I loved even more. Each day, I used this language either for automating tasks or simply creating codes for fun, or creating programs such as MY DAST tool that I created (OSTE meta-scanner – we will discuss it in another article). Or advancing to Artificial Intelligence, where I created a model for CNN classifying tire – another advanced topic for now. Anyway, that was my favorite language for now.

  • JavaScript:

      high-level, versatile, and dynamically typed programming language that is primarily known for its role in web development. It was created by Brendan Eich while he was working at Netscape, and the first version was released in 1995.

     I was a little curious; my first thought was, isn't JavaScript a script written in the Java language? LOL, that was fun. Anyway, after delving into the world of web and mastering HTML and CSS, and starting to make it dynamic with this awesome language, oh my god, it's a pleasure you can't resist. This language is truly a masterpiece.

  • PHP: 

     (Hypertext Preprocessor) is a widely-used open-source scripting language that is primarily designed for web development. It is a server-side scripting language, meaning it is executed on the server, and the result is sent to the client's web browser for rendering.

     After finding your way through HTML/CSS and JavaScript, this is your go-to. The back-end, the hidden world of HTML pages, where you can do all the tasks you want – logins, sessions,Database Integration.

  • SQL:

     Structured Query Language, is a programming language designed for managing and manipulating relational databases. It is used to communicate with and manage databases, allowing users to create, retrieve, update, and delete data. SQL is standardized, and its syntax is relatively simple and straightforward.

     And there is more and more and more and more. Each word in this computer has an inside world that never ends, and you would love it all, I am sure because I adore it.

    Computer science topics and world achievements :

    in small words CS is rapidly evolving field with a wide range of cool topics and achievements. if you are searching a reasons to love it there is more than 1000 but i would give you small list of what the word is doing with it know :

    1. Artificial Intelligence (AI) and Machine Learning:

      • Deep learning breakthroughs.
      • Generative models (e.g., GANs).
      • Natural language processing advancements.
      • Reinforcement learning applications.
    2. Quantum Computing:

      • Quantum supremacy achievements.
      • Quantum algorithms and cryptography.
    3. Blockchain and Cryptocurrency:

      • Development of new blockchain platforms.
      • Advances in smart contract technology.
      • Cryptocurrency innovations and adoption.
    4. Cybersecurity:

      • Threat detection and prevention.
      • Zero-trust security models.
      • Post-quantum cryptography.
    5. Data Science and Big Data:

      • Big data analytics and processing.
      • Data visualization tools and techniques.
      • Predictive analytics and data-driven decision-making.
    6. Internet of Things (IoT):

      • IoT applications in healthcare, smart cities, etc.
      • Edge computing for IoT devices.
      • Security and privacy challenges in IoT.
    7. Human-Computer Interaction (HCI):

      • Augmented reality (AR) and virtual reality (VR) advancements.
      • User experience (UX) design innovations.
      • Brain-computer interfaces.
    8. Computer Vision:

      • Object detection and recognition.
      • Image and video analysis.
      • Autonomous vehicles and drones.
    9. Programming Languages and Compilers:

      • Development of new programming languages.
      • Compiler optimizations and efficiency improvements.
    10. Robotics:

      • Advances in robot autonomy.
      • Soft robotics and bio-inspired robotics.
      • Humanoid robots and social robotics.
    11. Computer Graphics:

      • Real-time ray tracing in gaming.
      • Advances in virtual reality graphics.
      • CGI in movies and animation.
    12. Distributed Systems:

      • Scalable and fault-tolerant distributed systems.
      • Blockchain-based distributed applications.
      • Cloud computing technologies.
    13. Bioinformatics:

      • Computational genomics and personalized medicine.
      • Protein folding predictions.
      • Drug discovery using computational methods.
    14. Neuromorphic Computing:

      • Brain-inspired computing architectures.
      • Spiking neural networks.
      • Cognitive computing.
    15. Open Source Contributions:

      • Notable open source projects and contributions.
      • Collaborative development and version control systems.

     

    i hope you enjoyed this article which is just a starter kit and simple examples of small portion of small portion of small portion of Computer sciences  


     

     

Comments

Popular posts from this blog

Who is OSTEsayed and purpose of This Blog?

 Introduction to Who I Am : Hello and a warm welcome! My name is Seyyid Taqy Eddine Oudjani. I am Algerian and have dedicated six years to the study of computer science, earning both a bachelor's and master's degree. Additionally, I hold numerous certifications in the fields of cybersecurity and artificial intelligence, with more details on my expertise to be shared in future updates. In brief, I am deeply passionate about computer science and cybersecurity. I derive great satisfaction from solving complex problems, and I have set some significant goals for myself. The primary objective of this blog is to document my journey from ground zero to wherever life takes me. My overarching goal is to establish my own enterprise in the cybersecurity domain. To achieve this, my initial steps involve securing an entry-level SOC analyst position and subsequently advancing to meet the requirements of the Blue Team. Following this, I plan to transition to the Red Team, delving into the intr

Cyber Security list of related jobs and my experiences.

  my Cybersecurity Analyst Professional Path :  First of all the realm of cybersecurity is bigger than you ever would imagine, and there is no wrong answers on how to start in this field, it's based on your interest your conditions and your willing to give effort for. and am just sharing my experiences and my choices  Cyber Security related job and posts: Here's a list of cybersecurity-related job roles along with brief descriptions: Penetration Tester (Ethical Hacker): Conducts authorized simulated cyberattacks to identify vulnerabilities in systems, networks, or applications. Advises organizations on security weaknesses and provides recommendations for mitigation. Security Analyst: Monitors security alerts and incidents to identify potential threats and vulnerabilities. Analyzes security data to generate reports and recommends improvements in security protocols. Security Operations Center (SOC) Analyst: Works in a SOC to monitor and respond to security incidents. Analyzes