<style>
.markdown-body { max-width: 1800px; }
.orange { color: orange; }
.green { color: green; }
.red { color: red; }
section.present > div > pre > code {
max-height: 700px;
max-width: 2000px;
font-size: 16px;
}
</style>
$$
\begin{array}{c}
\texttt{C++ Competitive Programming Course}\\
\textbf{Introduction to Competitive Programming}\\
\end{array}
$$
<table style="font-size: 27px;">
<tr>
<td class="green"><strong>Lecturer:</strong></td>
<td class="orange">Võ Hoàng Anh</td>
<td class="green"><strong>Course:</strong></td>
<td class="orange">9CTIN</td>
</tr>
<tr>
<td class="green"><strong>Nickname:</strong></td>
<td class="orange">@SPyofgame</td>
<td class="green"><strong>Semester:</strong></td>
<td class="orange">2024-2025</td>
</tr>
<tr>
<td class="green"><strong>Assistant:</strong></td>
<td class="orange">Lâm Quang Phú</td>
<td class="green"><strong>Session:</strong></td>
<td class="orange">#3</td>
</tr>
</table>
<table style="font-size: 20px;">
<tr>
<td colspan="4" class="red"><strong>Course Info:</strong> </td>
<td> <a href="https://hackmd.io/@staredu/index">https://hackmd.io/@staredu/index</a></td>
</tr>
<tr>
<td colspan="4" class="red"><strong>Read as note:</strong> </td>
<td> <a href="https://hackmd.io/@staredu/beginning">https://hackmd.io/@staredu/beginning</a></td>
</tr>
<tr>
<td colspan="4" class="red"><strong>Read as slide:</strong> </td>
<td> <a href="https://hackmd.io/@staredu/slide3">https://hackmd.io/@staredu/slide3</a></td>
</tr>
<tr>
<td colspan="4" class="red"><strong>Hashed link:</strong> </td>
<td> <a href="https://hackmd.io/f2u22jyvQPK-NyBZV8WsRA?view#/">https://hackmd.io/f2u22jyvQPK-NyBZV8WsRA?view#/</a></td>
</tr>
</table>
---
## III. What do we learn now ?
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/ryYHxgZ8C.png" alt="" style="height:500px;">
<figcaption>There are so many damn things you can learn</figcaption>
</figure>
---
### III.1 - What should I teach beginners ?
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/B13939WUA.png" alt="" style="height:500px;">
<figcaption>There are lots of things I can teach</figcaption>
</figure>
---
#### III.1-a) There is Always Something to Learn
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/rkD2N5-I0.png" alt="" style="height:500px; width: 500px">
<figcaption>No matter how high the mountain,<br> there is always a higher one</figcaption>
</figure>
----
#### III.1-a) There is Always Something to Learn
##### <p style="font-size: 27px; color: orange;"> III.1-a:i) Foundational Skills </p>
> `Master Programming Basics ?`
> Dive into the essentials of programming by learning how to execute basic commands. Start with creating simple programs like a calculator to do math homework.
> Somethings like solving $ax^2 + bx + c = 0$
> `Grasp Core Algorithms ?`
> Understand fundamental algorithms to enhance problem-solving. Learn routes and shortcuts by planning the fastest way to commute in your city.
> Like trying to find a path under $5km$ to HCM City.
> `Leverage Data Structures ?`
> Get familiar with organizing and storing data efficiently using structures like lists and tables. Practice by cataloging your contacts or organizing your files systematically.
> You can make folder with format `YYYY-MM-DD` for simple sorting
> `Enhance Problem-Solving Skills ?`
> Boost your ability to troubleshoot by practicing on common household issues, such as recalibrating a thermostat or troubleshooting a non-working appliance.
> `Starts from the basics ?`
> Develop the skill to create easy-to-follow guides. Practice by writing concise and user-friendly instructions for basic stuff like a customized private diary.
----
#### III.1-a) There is Always Something to Learn
##### <p style="font-size: 27px; color: orange;"> III.1-a:ii) Problem-Solving Techniques </p>
> `Problem Solving ?`
> Develop techniques to address challenges swiftly, like creating a weekly meal prep routine to minimize daily cooking time.
> `Optimize Daily Tasks ?`
> Learn how to enhance daily efficiency by organizing your work or living spaces to reduce clutter and distractions like facebooks, tiktok, youtube, games.
> `Decompose Complex Challenges ?`
> Simplify large tasks by breaking them into actionable steps, such as planning a vacation by creating checklists for packing, reservations, and itineraries.
> `Foster Innovative Thinking ?`
> Encourage creativity in everyday life by repurposing household items to solve unexpected challenges, like using binder clips to organize wires.
> `Build Logical Reasoning ?`
> Strengthen your logical thinking by engaging in strategic games like chess or puzzle-solving activities that require careful thought and planning.
> `Improve Time Management ?`
> Enhance your productivity with effective time management strategies, such as using digital tools to schedule and prioritize daily activities, or make yourself an alarm clock !.
----
#### III.1-a) There is Always Something to Learn
##### <p style="font-size: 27px; color: orange;"> III.1-a:iii) Community and Resources </p>
> `Connect with Like-Minded Learners ?`
> Join study groups or online communities to share knowledge and gain support, which can be particularly useful when preparing for collective events or projects.
> `Utilize Diverse Learning Resources ?`
> Explore various educational tools from online courses like USACO, cp-algorithm, or submit your solutions on Codeforces, Atcoder, CSES.
> `Gain Insights from Feedback ?`
> Actively seek and apply feedback from peers and mentors to refine your skills, whether it's through digital forums or community workshops, like discord, github.
> `Challenge Yourself ?`
> Participate in local or online contests to test your abilities and learn new skills, from cooking competitions like codeforces, atcoder to coding hackathons.
> `Explore New Areas ?`
> Broaden your skill set by attending workshops or seminars that introduce you to new hobbies or professional skills, enhancing both personal and career growth.
> `Develop a Resilient Mindset ?`
> View challenges as opportunities to improve and learn, by embracing new activities that push you out of your comfort zone, such as learning a new language, gym or sport.
---
#### III.1-b) The Challenge of Remembering Basics
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/HJn5w5bIC.png" alt="" style="height:500px; width: 500px">
<figcaption>"In one ear and out the other"</figcaption>
</figure>
----
#### III.1-b) The Challenge of Remembering Basics
##### <p style="font-size: 27px; color: orange;"> III.1-b:i) Memory and Its Limitations </p>
> `Cognitive Capacity ?`
> The human brain has a limit on how much new information it can process at once. Exceeding this capacity leads to cognitive overload, preventing new knowledge from sticking, so it is hard to learn everything as once.
> `Relevance and Connection ?`
> Information is more easily forgotten if it lacks practical examples or relevance to existing knowledge, making abstract concepts particularly challenging.
> `Interference of Information ?`
> Learning similar subjects at the same time can cause interference, complicating the retention of both new and old information.
> `Necessity of Practice ?`
> Regular practice is essential for transferring knowledge to long-term memory, emphasizing the importance of continual engagement with new information.
> `Everyday Forgetfulness ?`
> Common instances like forgetting why you entered a room highlight the brain's tendency to filter out perceived non-essential information.
----
#### III.1-b) The Challenge of Remembering Basics
##### <p style="font-size: 27px; color: orange;"> III.1-b:ii) Normalizing Forgetfulness </p>
> `Learning is Cyclical ?`
> Forgetting is a natural and beneficial part of the learning process
> Helping to strengthen memory through repeated exposure.
> So things that appeared only few times are easy to be forgotten.
> `Focus on Essentials ?`
> Concentrating on fundamental concepts rather than all details.
> It helps in retaining critical information and aids in reconstructing forgotten aspects when needed, as we now have the keywords to learn on those aspects if we insisted to.
> `Selective Memory ?`
> The brain prioritizes essential over trivial information, a strategy that helps manage cognitive load and enhance focus on what truly matters.
> Your brain only pick what it feels good, but those might not what we want to remember.
> `Understanding Forgetfulness ?`
> Forgetting is common. Don't stress yourself; stay mentally healthy.
> `Misplacement is Common ?`
> Just as one might forget where items are in a house (the keychain, the wallet to pay grab, or stuff like that), it is normal to occasionally lose track of newly learned details.
----
#### III.1-b) The Challenge of Remembering Basics
##### <p style="font-size: 27px; color: orange;"> III.1-b:iii) Self-Compassion in Learning </p>
> `Abstract Complexity ?`
> Fundamental principles often presented abstractly can be difficult to grasp without concrete examples or real-world applications, as we don't have anything or experience that can be easily related to.
> `Overload of Details ?`
> An excess of information can overshadow key points, especially for those new to a subject, making it hard to determine what to focus on.
> `Lack of Familiar Patterns ?`
> It is damn hard finding patterns when you are newbie. You don't understand the situations. Why are these things related? Are they the same? Can we generalize ?
> `Diverse Learning Styles ?`
> Teaching methods that don't match a learner's style can make it harder to understand and remember information, showing the importance of personalized learning.
> `Deciphering the Essentials ?`
> Learning new concepts can feel like interpreting vague hints, requiring patience and repetition to fully understand and remember, even tho some can be really tedious.
---
#### III.1-c) Just notes what you really want to learn
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/Sk8qdcZIR.png" alt="" style="height:500px; width: 500px">
<figcaption>Damn bro, what he just said seems important</figcaption>
</figure>
----
#### III.1-c) Just notes what you really want to learn
##### <p style="font-size: 27px; color: orange;"> III.1-c:i) Identifying and Focusing on Key Concepts </p>
> `Prioritize for Better Understanding ?`
> Concentrating on fundamental concepts helps build a strong foundation. Like using a map to navigate a city, focusing on key routes makes exploration simpler and effective.
> If you play Minecraft, you will remember using a pillar of dirt to locate your home!
> `Avoid Information Overload ?`
> Trying to learn everything at once is like drinking from a fire hose. By focusing on what’s important, you avoid overwhelming your brain, making learning more manageable and less stressful. Don't put grains of raw data into your head.
> `Enhance Long-Term Retention ?`
> Focusing on core principles helps you understand and remember better. It's like planting a garden; giving each plant space ensures healthier growth.
> `Tailor Learning to Goals ?`
> Concentrating on what directly relates to your goals or interests makes learning more relevant and engaging, much like shopping for ingredients for a specific recipe rather than buying everything in the store. You need to cook the egg, not the whole chicken.
----
#### III.1-c) Just notes what you really want to learn
##### <p style="font-size: 27px; color: orange;"> III.1-c:ii) Efficient Note-Taking Strategies </p>
> `Structure Your Notes ?`
> Organize your notes with headers, bullet points, and diagrams. Think of it as packing a suitcase – proper arrangement allows you to fit more and find things easier.
> `Use Active Techniques ?`
> Active note-taking, like summarizing in your own words or creating mind maps, engages your brain more fully, much like cooking a meal from scratch rather than reheating food.
> `Incorporate Visual Aids ?`
> Diagrams, charts, and colors in your notes can help recall information, similar to how a picture in a travel guide reminds you more of the place than a description.
> You know, sometimes, I draw some stickmans just to recall math formulas.
> `Review and Revise ?`
> Regularly revisiting and refining your notes is like pruning a tree; it helps keep them relevant and ensures that the information remains clear and accessible.
----
#### III.1-c) Just notes what you really want to learn
##### <p style="font-size: 27px; color: orange;"> III.1-c:iii) The Value of Selective Note-Taking </p>
> `Capture the Essence ?`
> Noting only what strikes you as crucial helps in distilling the essence of the information, much like capturing the best scenes in a photograph while leaving out the periphery.
> `Reduce Cognitive Load ?`
> By writing down only key points, you reduce the mental burden, similar to carrying a lighter backpack on a hike, making the journey easier and more enjoyable.
> `Customize Learning ?`
> Personalizing notes to include only what you find valuable makes the learning process more tailored and efficient, akin to setting up a personalized workout plan.
> `Boost Engagement and Interest ?`
> Focusing your notes on what interests you most keeps you engaged, like following an intriguing storyline in a novel.
---
#### III.1-d) Review resources to see what is good for you
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/BJ-yOqbIC.png" alt="" style="height:500px; width: 500px">
<figcaption>Oh, so this is why he taught me that</figcaption>
</figure>
----
#### III.1-d) Review resources to see what is good for you
##### <p style="font-size: 27px; color: orange;"> III.1-d:i) What to Review </p>
> `Identify Quality Content ?`
> Focus on resources that are well-reviewed, credible, and up-to-date. It’s like picking a restaurant based on good reviews—it’s more likely to satisfy.
> `Diversity in Learning Formats ?`
> Explore different types of learning materials such as books, Codeforces blogs, and interactive courses. This is like sampling different cuisines to find what pleases your palate the most. Everyone has their own way of learning, right?
> `Relevance to Learning Goals ?`
> Choose resources that align with your specific learning objectives. Imagine you are playing an RPG game; you need the right gear to defeat the boss, right?
> `Expertise of the Creators ?`
> Consider the qualifications and expertise of the resource creators. You wouldn’t take travel advice from someone who’s never left their hometown, right?
> `Don't Trust Everything You Read ?`
> Because if every resource was great, you would never learn and never grow.
----
#### III.1-d) Review resources to see what is good for you
##### <p style="font-size: 27px; color: orange;"> III.1-d:ii) Why Review Resources </p>
> `Maximize Learning Efficiency ?`
> Reviewing helps you spend your time on material that is most likely to be beneficial.
> It’s like using a good map to avoid getting lost and wasting time.
> Imagine you using teleportation instead of walking for hours in-game.
> `Avoid Misinformation ?`
> There are things that you clearly misunderstand it for the first time you know about. So you need to ensure the information is accurate and trustworthy, similar to checking weather reports before planning a day out to avoid getting caught in the rain.
> `Personalized Learning Experience ?`
> Adjusting the learning experience to your strengths and needs, much like customizing a suit to be full black just to look cool in front of the girls.
> `Stay Updated ?`
> Staying updated with the news keeps you informed, helps you make good choices.
> It also avoid misconceptions from outdates features or deprecated functionalities.
> It lets you talk about what's happening with others for the greater comunication.
> `Think Before You Click ?`
> It's crucial to discern the value of online content; many appealing links divert attention and time away from more meaningful resources.
----
#### III.1-d) Review resources to see what is good for you
##### <p style="font-size: 27px; color: orange;"> III.1-d:iii) How to Review Resources </p>
> `Conduct Thorough Comparisons ?`
> Compare multiple resources for scope, depth, and teaching style. It’s like comparing different models before buying a car.
> `Check Reviews and Testimonials ?`
> Look at what others are saying about the resource to gauge its effectiveness and reliability. It’s like reading customer reviews before making a purchase.
> `Sample Content ?`
> Access trials or preview sections to get a feel for the content and its presentation. It’s akin to trying on clothes before buying.
> `Evaluate Practical Utility ?`
> Consider how well the resource helps in applying knowledge practically. This is like testing a new gadget to see if it really does make life easier as advertised.
> `Be a Picky Learner ?`
> Like dating, don’t settle. Be choosy with your resources; your brain deserves the best.
---
#### III.1-e) Practice whatever you needs to be better
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/r1uQFqbIC.png" alt="" style="height:500px; width: 500px">
<figcaption>Be a better version of yourself</figcaption>
</figure>
----
#### III.1-e) Practice whatever you needs to be better
##### <p style="font-size: 27px; color: orange;"> III.1-e:i) Practice Like a Pro </p>
> `Code 'Til You Drop ?`
> Just keep coding, even when it sucks.
> It’s like leveling up in a game, but your XP is your skill getting sharper.
> You can smurft your friends on a codeforces competition.
> `Break Stuff, Fix Stuff ?`
> Break your code, then play hero by fixing it.
> It’s a great way to learn what not to do—again.
> Sometimes it is better to code the algorithm from scratch.
> `Clone Wars ?`
> Clone projects from GitHub, mess around, see what happens.
> Best way to learn without breaking something important.
> `Daily Challenge Accepted ?`
> Do a coding challenge every day.
> Make it a streak; treat it like your Snap streak—don’t break it!
> Dual with your friend on some ACM problems, see who get AC first !
----
#### III.1-e) Practice whatever you needs to be better
##### <p style="font-size: 27px; color: orange;"> III.1-e:ii) Track Your Triumphs </p>
> `Log It or Lose It ?`
> Keep a log of what you learn.
> When it feels like you’re going nowhere, look back and see how far you’ve come.
> I know this, because I get lost a lot without notes.
> `Tick Off Those Tasks ?`
> Keep a checklist. Ticking things off is satisfying, like popping bubble wrap.
> Todo lists are good if you know what you can do and have already done.
> `Celebration Time ?`
> Celebrate the small wins. Fixed a bug?
> Pat yourself on the back. Got through a tough tutorial? Treat yourself!
> It is damn amazing when you finally solve a hard problem !
> `Progress Pics ?`
> Take screenshots of your progress. It’s like selfies but for your code.
> See how your skills evolve, and be happy about it, be proud !
---
#### III.1-f) Reach your full potential
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/BJI2m5fU0.png" alt="" style="height:500px; width: 500px">
<figcaption>Fear not the man who knows 1000 algorithms, but the one who masters one 1000 times.</figcaption>
</figure>
----
#### III.1-f) Reach your full potential
##### <p style="font-size: 27px; color: orange;"> III.1-f:i) Master Your Craft </p>
> `Go Deep, Not Just Wide ?`
> Dive deep into what you’re good at. Be the go-to person for something specific, like that one friend who’s an encyclopedia of Star Wars facts.
>
> `Teach to Learn ?`
> Start teaching what you know. It’s a solid way to learn more, and hey, you might actually help someone else out!
> `Build Your Brand ?`
> Start a blog or vlog. Share your journey, your ups and downs. It’s like being a rock star but in the coding world.
> `Specialize, Specialize, Specialize ?`
> Pick a niche. It’s cool to be a specialist. Be the person who knows everything about something, like a guru or a wizard.
----
#### III.1-f) Reach your full potential
##### <p style="font-size: 27px; color: orange;"> III.1-f:ii) Challenge Yourself </p>
> `Join Hackathons ?`
> Jump into hackathons. It’s like a marathon, but you’re coding, not running. Less sweaty but equally exhausting.
> `Contribute to Open Source ?`
> Get into open source projects. It’s like joining a band. You jam, you create, and sometimes you clash, but it’s all for the music—or code.
> `Set Bigger Goals ?`
> Aim higher with each project. Build on what you know and push your limits. It’s like a video game—beat your high score!
> `Seek Feedback ?`
> Don’t shy away from criticism. It stings, sure, but it’s like antiseptic—hurts but heals.
---
#### III.1-g) Not everything you learn is correct
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/r1gN95Z80.png" alt="" style="height:500px; width: 500px">
<figcaption>Take everything with a grain of salt. </figcaption>
</figure>
----
#### III.1-g) Not everything you learn is correct
##### <p style="font-size: 27px; color: orange;"> III.1-g:i) Stay Skeptical </p>
> `Don’t Buy Everything You Read ?`
> If it’s on the internet, double-check it. Triple-check if it’s on Stack Overflow.
> `Cross-Check Like a Boss ?`
> Cross-reference everything. One source is good; three is better.
> Be a detective in a world of fools spreading misinformations.
> `Update Your Info ?`
> Keep your knowledge fresh. Stuff gets outdated fast, like last year’s memes.
> `Beware of Hype Trains ?`
> Watch out for the hype. Not every shiny new framework is the next big thing.
> Remember, people once thought Crystal Pepsi was a good idea.
----
#### III.1-g) Not everything you learn is correct
##### <p style="font-size: 27px; color: orange;"> III.1-g:ii) Keep Learning </p>
> `Courses and Certs ?`
> Keep learning. Courses, certs, workshops—you name it. Stay sharp.
> The tech world waits for no one, it is damn evolving.
> `Ask the Wise Ones ?`
> Got a mentor or a wise colleague? Stick to them like glue.
> Learn what they know, especially the tricks that aren’t in books.
> `Read, Read, and Read Some More ?`
> Hit the books. And blogs. And podcasts. If it has info, soak it up.
> `Test New Waters ?`
> Try new tech. Maybe you’ll find something that sticks.
> Worst case, you learn what not to do, to avoid bad decisions.
---
#### III.1-h) Don't take everything too seriously
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/ryHfqi-L0.png" alt="" style="height:500px; width: 500px">
<figcaption>Technology is constantly evolving<br>There are changes you failed to update</figcaption>
</figure>
----
#### III.1-h) Don't take everything too seriously
##### <p style="font-size: 27px; color: orange;"> III.1-h:i) Lighten Up </p>
> `Code and Chill ?`
> Code hard, chill harder. Balance is key.
> You can have the memes from me, so stay chill.
> `Meme Your Errors ?`
> Turn your mistakes into memes. It’s therapeutic.
> Laugh at them, share them, and then fix them.
----
#### III.1-h) Don't take everything too seriously
##### <p style="font-size: 27px; color: orange;"> III.1-h:ii) Embrace the Chaos </p>
> `Evolution, Not Revolution ?`
> Tech evolves. If you miss something, catch the next one.
> It’s like missing a bus but less annoying.
> `Patch and Proceed ?`
> Found a bug? Patch it, learn from it, and move on.
> Don’t overthink it. Treat it like a bad date—learn and move on.
---
### III.2 - What programming language now ?
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/Bkabp5bIR.png" alt="" style="height:500px; width: 500px">
<figcaption>There are so many languages to choose</figcaption>
</figure>
---
#### III.2-a) How many languages do you know ?
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/HkNOa9WLR.png" alt="" style="height:500px; width: 500px">
<figcaption>Ehmmm, ... English, Vietnamese ?</figcaption>
</figure>
<style>
.language-figure {
max-height: 720px;
text-align: center;
margin: auto;
}
.language-figure img {
height: 500px;
}
</style>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:i) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rkW3VIW8C.png">
<figcaption>C++</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:ii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/B1p9EUZI0.png" alt="">
<figcaption>C</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:iii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rk49rI-UA.png" alt="">
<figcaption>C sharp</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:iv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/S1JgtDbUR.png">
<figcaption>Carbon</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:v) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/SJI8IUZ80.png">
<figcaption>Objective C</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:vi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rkztQvZLA.png">
<figcaption>D</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:vii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rJRaNwZUR.png">
<figcaption>J</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:viii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/SyrSfvZIA.png">
<figcaption>R</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:ix) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/BkM8j3-UC.png">
<figcaption>F Sharp</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:x) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rJZUDwbUC.png">
<figcaption>Q Sharp</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/B1oGXPb8A.png">
<figcaption>Fortran</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/S1RZXLWL0.png">
<figcaption>Python</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xiii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/H1mxY8W8R.png">
<figcaption>Java</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xiv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/ryaYPUbIR.png">
<figcaption>Javascript</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/BkWXHtW8C.png">
<figcaption>CUDA</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xvi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/HJPxVUbIA.png">
<figcaption>Rust</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xvii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/Hkhn6UZUC.png">
<figcaption>Mathlab</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xviii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/BJS0gvZLA.png">
<figcaption>Haskell</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xix) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/S1hEo8ZIR.png">
<figcaption>Lisp</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xx) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/S1mrCL-UC.png">
<figcaption>Kotlin</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/HJTjL8-I0.png">
<figcaption>Pascal</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/SyRc68WUR.png">
<figcaption>Ruby</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxiii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/SyGHSPWL0.png">
<figcaption>Scratch</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxiv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/HkesOPZI0.png">
<figcaption>Zig</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rJMcs8WI0.png">
<figcaption>PHP</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxvi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/HJ4anIWIC.png">
<figcaption>Go</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxvii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/HkrNTLWUR.png">
<figcaption>Swift</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxviii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rkzvHD-LC.png">
<figcaption>Clojure</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxix) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/Hy1n0UZLR.png">
<figcaption>Delphi</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxx) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/BkG-7wZ80.png">
<figcaption>Julia</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/Sky5SD-U0.png">
<figcaption>SQL</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/S1SDdPWIC.png">
<figcaption>Nim</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxiii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rkMJ4wbUR.png">
<figcaption>ASM</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxiv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/HySVWDWL0.png">
<figcaption>Scala</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxv) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/S1RFbvbU0.png">
<figcaption>Perl</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxvi) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/B1iaZvZ8R.png">
<figcaption>Lua</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxvii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/ryOt-dZIR.png">
<figcaption>LOGO</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxviii) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rJmifv-LR.png">
<figcaption>Ocaml</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xxxix) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/rywnHv-8R.png">
<figcaption>Elixir</figcaption>
</figure>
----
#### III.2-a) How many languages do you know ?
##### <p style="font-size: 27px; color: orange;"> III.2-a:xl) </p>
<figure class="language-figure">
<img src="https://hackmd.io/_uploads/Sy_tKwbIC.png">
<figcaption>Brainfuck</figcaption>
</figure>
---
#### III.2-b) Table of common programming languages
<style>
.programming-language {
width: 100%;
margin: auto;
font-size: 20px;
}
.programming-language td {
height: 100px;
width: 200px;
vertical-align: top; /* Ensure top alignment of all content */
}
.programming-language figure {
position: relative;
height: 100px;
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
}
.programming-language img {
height: 50px;
position: absolute;
margin-bottom: 0;
top: 0;
}
.programming-language figcaption {
margin-top: 8px;
text-align: center;
font-size: 16px;
width: 100%;
position: relative;
bottom: 0;
}
</style>
<center>
<table class="programming-language">
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkW3VIW8C.png" alt="">
<figcaption>C++</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/B1p9EUZI0.png" alt="">
<figcaption>C</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rk49rI-UA.png" alt="">
<figcaption>C sharp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1JgtDbUR.png" alt="">
<figcaption>Carbon</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SJI8IUZ80.png" alt="">
<figcaption>Objective C</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkztQvZLA.png" alt="">
<figcaption>D</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJRaNwZUR.png" alt="">
<figcaption>J</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SyrSfvZIA.png" alt="">
<figcaption>R</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BkM8j3-UC.png" alt="">
<figcaption>F Sharp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJZUDwbUC.png" alt="">
<figcaption>Q Sharp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/B1oGXPb8A.png" alt="">
<figcaption>Fortran</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1RZXLWL0.png" alt="">
<figcaption>Python</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/H1mxY8W8R.png" alt="">
<figcaption>Java</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/ryaYPUbIR.png" alt="">
<figcaption>Javascript</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BkWXHtW8C.png" alt="">
<figcaption>CUDA</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HJPxVUbIA.png" alt="">
<figcaption>Rust</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Hkhn6UZUC.png" alt="">
<figcaption>Mathlab</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BJS0gvZLA.png" alt="">
<figcaption>Haskell</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1hEo8ZIR.png" alt="">
<figcaption>Lisp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1mrCL-UC.png" alt="">
<figcaption>Kotlin</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HJTjL8-I0.png" alt="">
<figcaption>Pascal</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SyRc68WUR.png" alt="">
<figcaption>Ruby</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SyGHSPWL0.png" alt="">
<figcaption>Scratch</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HkesOPZI0.png" alt="">
<figcaption>Zig</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJMcs8WI0.png" alt="">
<figcaption>PHP</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HJ4anIWIC.png" alt="">
<figcaption>Go</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HkrNTLWUR.png" alt="">
<figcaption>Swift</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkzvHD-LC.png" alt="">
<figcaption>Clojure</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Hy1n0UZLR.png" alt="">
<figcaption>Delphi</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BkG-7wZ80.png" alt="">
<figcaption>Julia</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Sky5SD-U0.png" alt="">
<figcaption>SQL</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1SDdPWIC.png" alt="">
<figcaption>Nim</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkMJ4wbUR.png" alt="">
<figcaption>ASM</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HySVWDWL0.png" alt="">
<figcaption>Scala</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1RFbvbU0.png" alt="">
<figcaption>Perl</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/B1iaZvZ8R.png" alt="">
<figcaption>Lua</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/ryOt-dZIR.png" alt="">
<figcaption>LOGO</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJmifv-LR.png" alt="">
<figcaption>Ocaml</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rywnHv-8R.png" alt="">
<figcaption>Elixir</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Sy_tKwbIC.png" alt="">
<figcaption>Brainfuck</figcaption>
</figure>
</td>
</tr>
</table>
</center>
<style>
.programming-language-sub {
width: 100%;
font-size: 20px;
}
.programming-language-sub td {
height: 100px;
width: 500px;
}
.programming-language-sub figure {
position: relative;
height: 250px;
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
}
.programming-language-sub img {
height: 150px;
margin: 0;
top: 0;
}
.programming-language-sub figcaption {
text-align: center;
font-size: 27px;
width: 100%;
bottom: 0;
}
</style>
----
#### III.2-b) Table of common programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-b:i) Row 1</p>
<center>
<table class="programming-language-sub">
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkW3VIW8C.png" alt="">
<figcaption>C++</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/B1p9EUZI0.png" alt="">
<figcaption>C</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rk49rI-UA.png" alt="">
<figcaption>C sharp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1JgtDbUR.png" alt="">
<figcaption>Carbon</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SJI8IUZ80.png" alt="">
<figcaption>Objective C</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkztQvZLA.png" alt="">
<figcaption>D</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJRaNwZUR.png" alt="">
<figcaption>J</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SyrSfvZIA.png" alt="">
<figcaption>R</figcaption>
</figure>
</td>
</tr>
</table>
</center>
----
#### III.2-b) Table of common programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-b:ii) Row 2</p>
<center>
<table class="programming-language-sub">
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BkM8j3-UC.png" alt="">
<figcaption>F Sharp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJZUDwbUC.png" alt="">
<figcaption>Q Sharp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/B1oGXPb8A.png" alt="">
<figcaption>Fortran</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1RZXLWL0.png" alt="">
<figcaption>Python</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/H1mxY8W8R.png" alt="">
<figcaption>Java</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/ryaYPUbIR.png" alt="">
<figcaption>Javascript</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BkWXHtW8C.png" alt="">
<figcaption>CUDA</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HJPxVUbIA.png" alt="">
<figcaption>Rust</figcaption>
</figure>
</td>
</tr>
</table>
</center>
----
#### III.2-b) Table of common programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-b:ii) Row 3</p>
<center>
<table class="programming-language-sub">
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Hkhn6UZUC.png" alt="">
<figcaption>Mathlab</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BJS0gvZLA.png" alt="">
<figcaption>Haskell</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1hEo8ZIR.png" alt="">
<figcaption>Lisp</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1mrCL-UC.png" alt="">
<figcaption>Kotlin</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HJTjL8-I0.png" alt="">
<figcaption>Pascal</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SyRc68WUR.png" alt="">
<figcaption>Ruby</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/SyGHSPWL0.png" alt="">
<figcaption>Scratch</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HkesOPZI0.png" alt="">
<figcaption>Zig</figcaption>
</figure>
</td>
</tr>
</table>
</center>
----
#### III.2-b) Table of common programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-b:ii) Row 4</p>
<center>
<table class="programming-language-sub">
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJMcs8WI0.png" alt="">
<figcaption>PHP</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HJ4anIWIC.png" alt="">
<figcaption>Go</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HkrNTLWUR.png" alt="">
<figcaption>Swift</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkzvHD-LC.png" alt="">
<figcaption>Clojure</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Hy1n0UZLR.png" alt="">
<figcaption>Delphi</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/BkG-7wZ80.png" alt="">
<figcaption>Julia</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Sky5SD-U0.png" alt="">
<figcaption>SQL</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1SDdPWIC.png" alt="">
<figcaption>Nim</figcaption>
</figure>
</td>
</tr>
</table>
</center>
----
#### III.2-b) Table of common programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-b:ii) Row 5</p>
<center>
<table class="programming-language-sub">
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rkMJ4wbUR.png" alt="">
<figcaption>ASM</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/HySVWDWL0.png" alt="">
<figcaption>Scala</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/S1RFbvbU0.png" alt="">
<figcaption>Perl</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/B1iaZvZ8R.png" alt="">
<figcaption>Lua</figcaption>
</figure>
</td>
</tr>
<tr>
<td>
<figure>
<img src="https://hackmd.io/_uploads/ryOt-dZIR.png" alt="">
<figcaption>LOGO</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rJmifv-LR.png" alt="">
<figcaption>Ocaml</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/rywnHv-8R.png" alt="">
<figcaption>Elixir</figcaption>
</figure>
</td>
<td>
<figure>
<img src="https://hackmd.io/_uploads/Sy_tKwbIC.png" alt="">
<figcaption>Brainfuck</figcaption>
</figure>
</td>
</tr>
</table>
</center>
---
#### III.2-c) Oh, that seems too much, let categorize them
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/HkF4xi-UC.png" alt="" style="height:500px; width: 500px">
<figcaption>What category should it belongs to ?</figcaption>
</figure>
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:i) Category: General Purposes </p>
> **I can do whatever tasks you are asking for with this !**
> `Definition ?`
> Languages that fall under this category are versatile.
> They can be used for a wide range of programming tasks.
> They are not just specialized for a particular domain.
> They are general enough to handle various kinds of applications.
> `Multiplepurpose ?`
> Python, Pypy, C, C++
> `Procedural ?`
> Pascal
> `Object Oriented ?`
> C#
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:ii) Category: Functional </p>
> **This code is fully predictable, I am scared of nothing !**
> `Definition ?`
> Functional programming languages focus on using math functions to process data.
> They emphasize immutability, pure functions without side-effects, creating and using first-class functions, leading to more predictable and testable code.
> These languages are particularly well-suited for tasks that involve complex data transformations and parallel processing.
> `Classic Functional ?`
> F#
> `Mainstream Functional ?`
> Haskell
> `Niche Functional ?`
> Lisp
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:iii) Category: Development </p>
> **I want to make things better through time !**
> `Definition ?`
> This category includes languages primarily used for developing applications and software solutions. These languages are often chosen for their robustness, modern features, and support for both front-end and back-end development.
> `Application Development ?`
> Java, Kotlin
> `Server-Side Development ?`
> PHP
> `Client-Side Scripting ?`
> JavaScript
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:iv) Category: Scripting </p>
> **I am flexible to automate any tasks that I am lazy to do !**
> `Definition ?`
> Scripting languages are typically interpreted languages used for writing short programs (scripts) to automate tasks. They are known for their ease of use and flexibility, making them suitable for quick development and scripting.
> `System Scripting ?`
> Bash
> `General Purpose Scripting ?`
> Perl
> `Scripting and Logic ?`
> Shell
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:v) Category: Data Science & Mathematics </p>
> **Let me analyze you and create an AI from it !**
> `Definition ?`
> This category encompasses languages used for data analysis, statistical computing, and high-performance numerical computations. These languages often come with extensive libraries and tools for handling large datasets and complex mathematical operations.
> `Data and Documentation ?`
> LaTeX, SQL
> `Statistical ?`
> MATLAB
> `High-Performance ?`
> CUDA
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:vi) Category: Technical & System </p>
> **I control every single bit of your life !**
> `Definition ?`
> Languages in this category are used for low-level programming, hardware design, and business applications. They are often specialized for system programming, hardware description, or specific business processes.
> `Hardware and Busines ?`
> Mathematica
> `Low-level System ?`
> Assembly, Rust
> `Concurrency-Oriented ?`
> Go
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:vii) Category: Limited-use </p>
> **Damn bro, I am the history of myself !**
> `Definition ?`
> This category includes languages that are either historically significant or used for specialized purposes. They are not commonly used in modern development but hold importance in specific contexts or have influenced modern languages.
> `Historical ?`
> COBOL
> `Special-Purpose ?`
> GSLS
> `Experimental ?`
> Nim
----
#### III.2-c) Oh, that seems too much, let categorize them
##### <p style="font-size: 27px; color: orange;"> III.2-c:viii) Category: Amusement </p>
> **I just want to troll, lol !**
> `Definition ?`
> Languages in this category are created for fun, humor, or as academic exercises. They are not intended for serious development but rather for exploring the boundaries of programming language design or for entertainment.
> `Esoteric ?`
> Chef
> `April Fools ?`
> Brainfuck
---
#### III.2-d) Categorized programming languages
<style>
body {
background-color: #333;
color: #ccc;
}
.language-table {
width: 90%;
margin: 20px auto;
border-collapse: collapse;
font-size: 16px;
background-color: #222;
box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.language-table th, .language-table td {
padding: 10px;
border: 1px solid #444;
text-align: left;
color: #ddd;
}
.language-table th {
background-color: #555;
}
.language-table tr:nth-child(even) {
background-color: #2a2a2a;
}
.language-table tr:nth-child(odd) {
background-color: #1f1f1f;
}
.language-table caption {
font-size: 24px;
font-weight: bold;
margin: 10px;
color: #fff;
}
</style>
<center>
<table class="language-table">
<thead>
</thead>
<tbody>
<tr>
<td rowspan="3">General-Purpose</td>
<td>1. Multipurpose</td>
<td>Python, Pypy, C, C++</td>
</tr>
<tr>
<td>2. Procedural</td>
<td>Pascal,BASIC, Ada, Modula-2, PL/I, Visual Basic</td>
</tr>
<tr>
<td>3. Object-Oriented</td>
<td>C#, Objective-C, Delphi</td>
</tr>
<tr>
<td rowspan="3">Functional</td>
<td>4. Classic Functional</td>
<td>F#, ATS, SML, Scheme, OCaml</td>
</tr>
<tr>
<td>5. Mainstream Functional</td>
<td>Haskell, Scala, Clojure, Elixir</td>
</tr>
<tr>
<td>6. Niche Functional</td>
<td>Lisp, Racket, Elm, Idris, ML</td>
</tr>
<tr>
<td rowspan="3">Development</td>
<td>7. Application Development</td>
<td>Java, Kotlin, Swift, Groovy, Dart</td>
</tr>
<tr>
<td>8. Server-Side Development</td>
<td>PHP, Ruby</td>
</tr>
<tr>
<td>9. Client-Side Scripting</td>
<td>JavaScript, TypeScript</td>
</tr>
<tr>
<td rowspan="3">Scripting</td>
<td>10. System Scripting</td>
<td>Bash, PowerShell, AppleScript</td>
</tr>
<tr>
<td>11. General Purpose Scripting</td>
<td>Perl, Lua, Red, Tcl</td>
</tr>
<tr>
<td>12. Scripting and Logic</td>
<td>Shell, Factor, Prolog, Processing, AWK</td>
</tr>
<tr>
<td rowspan="3">Data Science<br>& Mathematics</td>
<td>13. Data and Documentation</td>
<td>LaTeX, SQL, Verilog</td>
</tr>
<tr>
<td>14. Statistical</td>
<td>MATLAB, R, SAS, SPSS, Stata, JAGS, Stan, Raku</td>
</tr>
<tr>
<td>15. High-Performance</td>
<td>CUDA, Julia</td>
</tr>
<tr>
<td rowspan="3">Techinical<br>& System</td>
<td>16. Hardware and Business</td>
<td>Mathematica, ABAP, VHDL</td>
</tr>
<tr>
<td>17. Low-level System</td>
<td>Assembly, Rust, Forth, BCPL</td>
</tr>
<tr>
<td>18. Concurrency-Oriented</td>
<td>Go, Pony, Occam, CSP, Erlang</td>
</tr>
<tr>
<td rowspan="3">Limited-use</td>
<td>19. Historical</td>
<td>Fortran, COBOL, ALGOL, Simula, Smalltalk</td>
</tr>
<tr>
<td>20. Special-Purpose</td>
<td>GSLS, PostScript, HLSL</td>
</tr>
<tr>
<td>21. Experimental</td>
<td>Nim, V, Zig, Crystal, Carbon, D, Chapel, ReasonML</td>
</tr>
<tr>
<td rowspan="2">Amusement</td>
<td>22. Esoteric</td>
<td>Chef, INTERCAL, LOLCODE, Esolang</td>
</tr>
<tr>
<td>23. April Fools</td>
<td>Brainfuck, Befunge, Whitespace, Piet, Malbolge, JSFuck</td>
</tr>
</tbody>
</table>
</center>
----
#### III.2-d) Categorized programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-d:i) They are just one of the way</p>
> **You can have your own categorizations !**
> `Why did you make so many categories ?`
> I just make one example so you can teach you something new
> `Sort by alphabet ?`
> https://en.wikipedia.org/wiki/List_of_programming_languages
> https://rosettacode.org/wiki/Hello_world/Text
> `Sort by type ?`
> https://en.wikipedia.org/wiki/List_of_programming_languages_by_type
> https://www.indeed.com/career-advice/career-development/types-of-programming-languages
> `Sort by popularity ?`
> https://www.tiobe.com/tiobe-index/
> https://spectrum.ieee.org/the-top-programming-languages-2023
> `Sort by paradigm ?`
> Imperative, Functional, Object-Oriented, Declarative
> `Sort by purpose ?`
> Web Development, Mobile Development, Data Science, Game Development
> `Sort by compilation strategies ?`
> Ahead-of-time, Just-in-time, Transcompilation, Precompilation, Recompilation
----
#### III.2-d) Categorized programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-d:ii) Categorize based on what you need</p>
> **You dont need to learn that many programming languages !**
> `Core Concepts ?`
> The first few languages you learn will solidify your understanding of core programming concepts like variables, data types, loops, functions, and conditional statements. These concepts are fundamental and transfer across most languages.
> `Problem-Solving Skills ?`:
> Learning to code is about problem-solving, not just syntax.
> `Learning new language ?`
> Once you're comfortable solving problems in one language, applying that logic to a new language becomes easier.
----
#### III.2-d) Categorized programming languages
##### <p style="font-size: 27px; color: orange;"> III.2-d:iii) Choose a suitable language</p>
> **Your choice of language can save you time and effort !**
> `How to choose ?`
> Choose a language known for its readability and clear syntax. These languages have vast online resources and communities for support.
> `Specialization ?`
> Different languages excel in specific areas. Learning a few targeted languages equips you for certain fields, like web development with JavaScript or data science with Python.
> `Learning Curve ?`
> Each language has its own syntax and quirks. Focusing on a few languages allows you to master them efficiently instead of spreading yourself thin.
> `Build Small Projects ?`
> Don't jump into complex programs. Start by building small, achievable projects to apply your learning and gain confidence.
> `Learn by Doing ?`
> Don't be afraid to experiment and make mistakes. The best way to learn is by doing and debugging your code.
---
#### III.2-e) Famous languages that you might know
<style>
body {
background-color: #333;
color: #ccc;
}
.language-table {
width: 90%;
margin: 20px auto;
border-collapse: collapse;
font-size: 16px;
background-color: #222;
box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.language-table th, .language-table td {
padding: 10px;
border: 1px solid #444;
text-align: left;
color: #ddd;
}
.language-table th {
background-color: #555;
}
.language-table tr:nth-child(even) {
background-color: #2a2a2a;
}
.language-table tr:nth-child(odd) {
background-color: #1f1f1f;
}
.language-table caption {
font-size: 24px;
font-weight: bold;
margin: 10px;
color: #fff;
}
</style>
<center>
<table class="language-table">
<thead>
</thead>
<tbody>
<tr>
<td rowspan="3">General-Purpose</td>
<td>1. Multipurpose</td>
<td>Python, Pypy, C, C++</td>
<td><code>Good for competitive</code></td>
</tr>
<tr>
<td>2. Procedural</td>
<td>Pascal</td>
</tr>
<tr>
<td>3. Object-Oriented</td>
<td>C#</td>
<td><code>Good for competitive</code></td>
</tr>
<tr>
<td rowspan="3">Functional</td>
<td>4. Classic Functional</td>
<td>F#</td>
</tr>
<tr>
<td>5. Mainstream Functional</td>
<td>Haskell</td>
</tr>
<tr>
<td>6. Niche Functional</td>
<td>Lisp</td>
</tr>
<tr>
<td rowspan="3">Development</td>
<td>7. Application Development</td>
<td>Java, Kotlin</td>
<td><code>Good for competitive</code></td>
</tr>
<tr>
<td>8. Server-Side Development</td>
<td>PHP</td>
</tr>
<tr>
<td>9. Client-Side Scripting</td>
<td>JavaScript</td>
</tr>
<tr>
<td rowspan="3">Scripting</td>
<td>10. System Scripting</td>
<td>Bash</td>
</tr>
<tr>
<td>11. General Purpose Scripting</td>
<td>Perl</td>
</tr>
<tr>
<td>12. Scripting and Logic</td>
<td>Shell</td>
</tr>
<tr>
<td rowspan="3">Data Science<br>& Mathematics</td>
<td>13. Data and Documentation</td>
<td>LaTeX, SQL</td>
</tr>
<tr>
<td>14. Statistical</td>
<td>MATLAB</td>
</tr>
<tr>
<td>15. High-Performance</td>
<td>CUDA, Julia</td>
</tr>
<tr>
<td rowspan="3">Techinical<br>& System</td>
<td>16. Hardware and Business</td>
<td>Mathematica</td>
</tr>
<tr>
<td>17. Low-level System</td>
<td>Assembly, Rust</td>
<td><code>Good for competitive</code></td>
</tr>
<tr>
<td>18. Concurrency-Oriented</td>
<td>Go</td>
</tr>
<tr>
<td rowspan="3">Limited-use</td>
<td>19. Historical</td>
<td>Fortran</td>
</tr>
<tr>
<td>20. Special-Purpose</td>
<td>GSLS</td>
</tr>
<tr>
<td>21. Experimental</td>
<td>Nim</td>
</tr>
<tr>
<td rowspan="2">Amusement</td>
<td>22. Esoteric</td>
<td>Chef</td>
</tr>
<tr>
<td>23. April Fools</td>
<td>Brainfuck</td>
</tr>
</tbody>
</table>
</center>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:i) Python, C, C++</p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/r1xQVpb80.png" alt="" style="height:500px;">
<figcaption>Most codeforces users use these !</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:ii) Pascal </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/ryNuqnWIR.png" alt="" style="height:500px;">
<figcaption>If tourist can, your excuses suck!</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:iii) C# </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SkYj93-L0.png" alt="" style="height:500px;">
<figcaption>Literally C++++</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:iv) F# </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/B1zen2b8C.png" alt="" style="height:500px;">
<figcaption>F#cking old, but gold to use</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:v) Haskell </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/S14Qh3ZIA.png" alt="" style="height:500px;">
<figcaption>Wait, it's all about functions ? Always has been :)</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:vi) Lisp </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/H1CXR3bU0.png" alt="" style="height:500px;">
<figcaption>parentheses :] parentheses :}} parentheses =)))))</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:vii) Java, Kotlin </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/H1VKCnWLC.png" alt="" style="height:500px;">
<figcaption>fun, fun, fun everywhere</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:viii) PHP </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/HyUR0nWLC.png" alt="" style="height:500px;">
<figcaption>There is still time to make facebook 2.0 !</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:ix) Javascript </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SJFZyTbIA.png" alt="" style="height:500px;">
<figcaption>Math.max() = -Infinity</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:x) Bash </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/ByrU1abLA.png" alt="" style="height:500px;">
<figcaption><code>:(){:|:&};:</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xi) Perl </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SkhaJabLC.png" alt="" style="height:500px;">
<figcaption><code>([\s\S]*|([0..9]|[a..z]|^(regex)*))</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xii) Shell </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/HkIRZ6WUC.png" alt="" style="height:500px;">
<figcaption><code>sudo rm -rf /*</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xiii) Latex, SQL </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/rJaqXaZUC.png" alt="" style="height:500px;">
<figcaption><code>(27.022.004 rows affected)</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xiv) MATLAB </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SkYAXTbL0.png" alt="" style="height:500px;">
<figcaption>Buying license just to get pen*s icon</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xv) CUDA, Julia </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SJjLN6bIR.png" alt="" style="height:500px;">
<figcaption>Doing weird math on GPU x20 speed vs CPU</figcaption>
</figure>
----
##### <p style="font-size: 27px; color: orange;"> III.2-e:xvi) Mathematica </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/B1n9LpbUC.png" alt="" style="height:500px;">
<figcaption>Proving <code>1+1=2</code> belike</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xvi) Assembly, Rust </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/ryOCKTWLR.png" alt="" style="height:500px;">
<figcaption>Master asm == <code>100% open source</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xvii) Assembly, Rust </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/ryOCKTWLR.png" alt="" style="height:500px;">
<figcaption>Master asm == <code>100% open source</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xviii) Go </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SybAcp-80.png" alt="" style="height:500px;">
<figcaption>Lets <code>go</code> ! </figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xix) Fortran </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/BJ6PhTWIC.png" alt="" style="height:500px;">
<figcaption>Get da fuq out of my way !</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xx) GSLS </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/BkZDyRZLA.png" alt="" style="height:500px;">
<figcaption>Shader stuff</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xxi) Nim </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/B188W0ZLC.png" alt="" style="height:500px;">
<figcaption><code>"Hello World".print()</code></figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xxii) Chef </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/By6DxCb80.png" alt="" style="height: 500px;">
<figcaption>Who lets him cook ?</figcaption>
</figure>
----
#### III.2-e) Famous languages that you might know
##### <p style="font-size: 27px; color: orange;"> III.2-e:xxiii) Brainfuck </p>
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/HkF9gRWIC.png" alt="" style="height:500px;">
<figcaption><code>+-.,[]<></code></figcaption>
</figure>
---
#### III.2-f) Good languages for Competitive Programming
<style>
.competitive-table {
width: 90%;
border-collapse: collapse;
font-size: 16px;
background-color: #222;
box-shadow: 0 4px 8px rgba(0,0,0,0.5);
}
.competitive-table th, .competitive-table td {
text-align: left;
color: #ddd;
}
.competitive-table th {
background-color: #555;
}
.competitive-table tr:nth-child(even) {
background-color: #2a2a2a;
}
.competitive-table tr:nth-child(odd) {
background-color: #1f1f1f;
}
.competitive-table caption {
font-size: 24px;
font-weight: bold;
color: #fff;
}
.competitive-table img {
width: 50px;
margin: 5px;
}
</style>
<center>
<table class="competitive-table">
<thead>
</thead>
<tbody>
<tr>
<td rowspan="3">TOP 3</td>
<td> C++ </td>
<td>
<img src="https://hackmd.io/_uploads/rkW3VIW8C.png" alt="">
</td>
<td>High Performance, Libraries, Memory Control, Low-level Manipulation, Large Community</td>
</tr>
<tr>
<td> Python </td>
<td>
<img src="https://hackmd.io/_uploads/S1RZXLWL0.png" alt="">
</td>
<td>Simple Syntax, Extensive Libraries, Quick Coding, Readability, Community Support</td>
</tr>
<tr>
<td> Java </td>
<td>
<img src="https://hackmd.io/_uploads/H1mxY8W8R.png" alt="">
</td>
<td>Robust, Portable, Libraries, Error Handling, Strong Typing</td>
</tr>
<tr>
<td rowspan="5">TOP 8</td>
<td> C </td>
<td>
<img src="https://hackmd.io/_uploads/B1p9EUZI0.png" alt="">
</td>
<td>Performance, Low-level Control, Memory Management, Efficiency, Portability</td>
</tr>
<tr>
<td> C# </td>
<td>
<img src="https://hackmd.io/_uploads/rk49rI-UA.png" alt="">
</td>
<td>Object-Oriented, Versatile, Rich Libraries, Robust, Large Community</td>
</tr>
<tr>
<td> Pypy </td>
<td>
<img src="https://hackmd.io/_uploads/BJS0gvZLA.png" alt="">
</td>
<td>Python TLE Saviour, Speed Optimization, Memory Efficiency, Compatibility, Stackless Mode</td>
</tr>
<tr>
<td> Rust </td>
<td>
<img src="https://hackmd.io/_uploads/HJPxVUbIA.png" alt="">
</td>
<td>Memory Safety, Performance, Concurrency, Modern Syntax, Community</td>
</tr>
<tr>
<td> Kotlin </td>
<td>
<img src="https://hackmd.io/_uploads/S1mrCL-UC.png" alt="">
</td>
<td>Concise Syntax, Interoperability with Java, Functional, Modern Features, Safe</td>
</tr>
</tbody>
</table>
</center>
----
#### III.2-f) Good languages for Competitive Programming
##### <p style="font-size: 27px; color: orange;"> III.2-f:i) Questions </p>

What make a language good for competitive ?
---
## III.3 - C++
```cpp=
#include <iostream>
int main() { std::cout<<"C++"; }
```
---
### III.3-a) C++ is damn great for competitive
<center style="font-size:18px">
<table border="1" style="border-collapse: collapse; width: 100%;">
<tr>
<th>Feature</th>
<th>Description</th>
<th>Benefits</th>
</tr>
<tr>
<td>Execution<br>Speed</td>
<td><code>Performance Speed x3.14</code> as C++ compiles directly to machine code, enabling optimal execution speed and minimal runtime overhead.</td>
<td>Minimizes the risk of exceeding time limits during contests, crucial for solving problems within competitive constraints.</td>
</tr>
<tr>
<td>Standard Template<br>Library (aka STL)<br>[namespace <code>std::</code>]</td>
<td>Includes a powerful set of <code>ready-to-use</code> libraries (vectors, sets, maps) and algorithms (sort, binary search) and a lot of well-tested features that can be used to simplify problem solving process.</td>
<td>Significantly reduces the amount of code competitors need to write, thereby decreasing development time and error frequency. Make it convenient to type.</td>
</tr>
<tr>
<td>Memory Management</td>
<td><code> You don't pay for what you don't use</code><br>Also, C++ utilizes RAII to automate resource management, automatically managing the lifecycle of resources by tying them to object lifetimes.</td>
<td>Ensures efficient resource use and memory safety, and performance demands of competitive programming, very fast input-output compares to others.</td>
</tr>
<tr>
<td>Template Metaprogramming</td>
<td>Allows writing code that manipulates data structures and performs <code>computations at compile time, leading to faster runtime</code>. Compile time errors also avoid potential mistakes.</td>
<td>Reduces execution time by resolving computations during compilation, beneficial for intensive computational challenges. Shorten manual coding.</td>
</tr>
<tr>
<td>Low-level Manipulation</td>
<td>C++ interacts with <code>asm</code> on direct control over CPU instructions, provides capabilities for bit-level operations and manipulation, which can optimize solutions to reduce complexity and increase speed.</td>
<td>Facilitates the creation of highly efficient algorithms by tapping directly into the hardware's capabilities, a plus for performance-critical tasks.</td>
</tr>
<tr>
<td>Community<br>Support</td>
<td><code>A very large community</code> of competitive programmers and extensive documentation available that appear everywhere on internet !</td>
<td>Provides a rich set of resources, sample problems, and solutions that enhance learning and problem-solving capabilities.</td>
</tr>
</table>
</center>
----
### III.3-a) C++ is damn great for competitive
##### <p style="font-size: 27px; color: orange;"> III.3-a:i) Optimized Execution Speed </p>
> **Master of Machine Code**
> `Definition ?`
> C++ compiles directly to machine code, enabling optimal execution speed and minimal runtime overhead.
> `Benefits in Contests ?`
> Minimizes the risk of exceeding time limits during contests, crucial for solving problems within competitive constraints.
> `Example ?`
> An algorithm that sorts large datasets can run significantly faster in C++ due to optimized compiled code.
> `Reasoning ?`
> The direct translation of C++ into machine code eliminates the need for an interpretation layer, which can slow down execution in other languages.
----
### III.3-a) C++ is damn great for competitive
##### <p style="font-size: 27px; color: orange;"> III.3-a:ii) Comprehensive STL Support </p>
> **Batman Favorite Library :D**
> `Definition ?`
> The Standard Template Library (STL) offers a comprehensive suite of data structures and algorithms that simplify coding tasks.
> `Advantages in Algorithmic Challenges ?`
> Significantly reduces the amount of code competitors need to write, thereby decreasing development time and error frequency.
> `Example ?`
> Utilizing `std::sort()` allows sorting an array with just one line of code, compared to implementing sorting algorithms manually.
> `Reasoning ?`
> STL's well-tested components ensure reliability and performance, which are critical under the tight constraints of competitive programming contests.
----
### III.3-a) C++ is damn great for competitive
##### <p style="font-size: 27px; color: orange;"> III.3-a:iii) Advanced Memory Management </p>
> **Resource Acquisition Is Initialization (RAII)**
> `Definition ?`
> RAII is a C++ programming idiom where resource allocation is tied to object lifetime: resources are acquired upon object creation and released upon destruction.
> `Benefits in Contests ?`
> Automates resource management, reducing manual memory handling errors and focusing efforts on problem-solving during competitions.
> `Example ?`
> Using `std::vector`, memory is managed automatically; resources are allocated and deallocated as the vector grows and shrinks, preventing memory leaks even if exceptions occur.
> `Reasoning ?`
> RAII eliminates common errors like memory leaks by automatically managing resource lifecycles, essential for writing fast, efficient, and reliable code in competitive programming.
----
### III.3-a) C++ is damn great for competitive
##### <p style="font-size: 27px; color: orange;"> III.3-a:iv) Template Metaprogramming </p>
> **Compile-time Efficiency**
> `Definition ?`
> Allows writing code that manipulates data structures and performs computations at compile time, leading to faster runtime.
> `Speed Advantage ?`
> Reduces execution time by resolving computations during compilation, beneficial for intensive computational challenges.
> `Example ?`
> Implementing compile-time constants and calculations using templates and constexpr to optimize algorithm efficiency.
> `Reasoning ?`
> Compile-time execution ensures that the runtime is free from these overheads, making the program faster during contests.
----
### III.3-a) C++ is damn great for competitive
##### <p style="font-size: 27px; color: orange;"> III.3-a:v) Low-level Hardware Manipulation </p>
> **Direct System Access**
> `Definition ?`
> C++ allows direct interaction with hardware through low-level programming capabilities, including inline assembly.
> `Performance Boost ?`
> Facilitates the creation of highly efficient algorithms by tapping directly into the hardware's capabilities, a plus for performance-critical tasks.
> `Example ?`
> Using inline assembly to optimize critical sections of the code, manipulating registers directly for maximum speed.
> `Reasoning ?`
> This level of control can lead to significant performance gains by bypassing higher-level abstractions that may introduce inefficiencies.
----
### III.3-a) C++ is damn great for competitive
##### <p style="font-size: 27px; color: orange;"> III.3-a:vi) Large Community and Resources </p>
> **Extensive Support and Collaboration**
> `Definition ?`
> C++ has a vast and active community of developers, providing extensive support through forums, tutorials, and third-party tools.
> `Benefits in Learning and Problem Solving ?`
> Access to a wealth of shared knowledge and resources helps solve problems faster and fosters innovation.
> `Example ?`
> Accessing platforms like Stack Overflow or GitHub to find solutions or discuss strategies with other experienced developers.
> `Reasoning ?`
> The large community means that many common challenges have been addressed, and solutions or optimizations like `You don't pay for what you don't use` are readily available which speeds up development and learning.
---
### III.3-b) Why C++ Sucks: Criticisms
<center style="font-size:18px">
<table border="1" style="border-collapse: collapse; width: 100%;">
<tr>
<th>Issue</th>
<th>Details</th>
<th>Implications</th>
</tr>
<tr>
<td>Complex Syntax<br>Steep Learning Curve</td>
<td>C++ has low and high programming features<br> Complex and challenging for both beginners</td>
<td>Results in significant time and effort to master.</td>
</tr>
<tr>
<td>Manual Memory<br>Management</td>
<td>No automatic garbage collection<br>Must apply RAII or manually manage memory</td>
<td>Can lead to memory leaks, dangling pointers,<br> buffer overflows, and the champ <code>SIGSEG</code>.</td>
</tr>
<tr>
<td>Verbose and<br> Complicated Code</td>
<td>Requires more code to achieve functionality<br> Modern languages can is much shortened</td>
<td>Increases development time and effort. <br> Potential for errors among the codes.</td>
</tr>
<tr>
<td>Undefined Behavior</td>
<td>I dont even want to mention it<br> Can you google for more info ?</td>
<td>Causes inconsistent program behavior<br> Complicates debugging and checking. <br> Fuck yourself in every unintended ways.</td>
</tr>
<tr>
<td>Poor Tooling<br>and Debugging</td>
<td>Complexity makes debugging challenging.<br> Tools available are often found inadequate.</td>
<td>Makes error resolution more frustrating.<br>You need to use good IDEs and extensions</td>
</tr>
<tr>
<td>Poor Error Messaging</td>
<td>C++ doesn't have type reflection<br>Annoying and misleading error log</td>
<td>Error messages can be cryptic and unhelpful.<br>Damn, I dont wanna debug them</td>
</tr>
<tr>
<td>Inconsistent<br> Compilers</td>
<td>Variations in compiler implementations<br>Code can be optimized differently</td>
<td>Complicates cross-platform development.<br>Inconsistent behavior & unpredictable code.</td>
</tr>
<tr>
<td>Portability Issues</td>
<td>Requires platform-specific adjustments<br> Relies on compiler-specific extensions.</td>
<td>Reduces its portability<br> Hard to run on multiple platforms.</td>
</tr>
<tr>
<td>Exposure to Poorly<br>Written Code</td>
<td>C++ is often through poorly written code<br>Users shorten code for faster typing</td>
<td>Negatively affects perception of the language.<br>Unreadable compact code for competitive</td>
</tr>
</table>
</center>
----
### III.3-b) Why C++ Sucks: Criticisms
##### <p style="font-size: 27px; color: orange;"> III.3-b:i) Complex Syntax and Steep Learning Curve </p>
> **Master of Complexity**
> `Definition ?`
> C++'s syntax blends high-level functionality with low-level operations, making it intricate and hard to master.
> `Implications in Learning ?`
> Creates a significant barrier to entry, particularly for beginners who may feel overwhelmed by the complexity.
> `Example`
> New programmers must understand both object-oriented concepts and manual memory management, which are less integrated in languages like Python or JavaScript.
> `Reasoning`
> The steep learning curve results from the need to manage intricate details typically abstracted away in higher-level languages, which can delay development progress.
---
### III.3-c) C++ Project Difficulties
<center style="font-size:15px">
<table border="1" style="border-collapse: collapse; width: 100%;">
<tr>
<th>Issue</th>
<th>Details</th>
<th>Implications</th>
</tr>
<tr>
<td>ABI Compatibility Issues</td>
<td>Differences in Application Binary Interface compatibility between compiler versions can cause runtime errors.</td>
<td>Complicates maintenance and can cause runtime errors.</td>
</tr>
<tr>
<td>Security Vulnerabilities</td>
<td>Due to its power for low-level system access, C++ is exposed to risks like buffer overflows.</td>
<td>Presents significant security concerns.</td>
</tr>
<tr>
<td>Overhead of Object-Oriented<br>Features</td>
<td>Deep class hierarchies and extensive use of virtual functions can lead to performance overhead.</td>
<td>The flexibility comes at the cost of runtime complexity.</td>
</tr>
<tr>
<td>Perceived as an Unnecessary<br>Complication</td>
<td>Especially for users from scripting languages like Python, C++ seems unnecessarily complex for accomplishing tasks that are simpler in other languages.</td>
<td>Deters users familiar with higher-level languages due to perceived excessive complexity.</td>
</tr>
<tr>
<td>C Compatibility Issues</td>
<td>The need to maintain backward compatibility with C introduces many problems, leading to compromises in design that make C++ cumbersome.</td>
<td>Compromises in design make the language less efficient and more cumbersome to use.</td>
</tr>
<tr>
<td>Language Complexity and<br>Fragmentation</td>
<td>C++'s size and complexity lead to fragmentation into multiple dialects, complicating code maintenance and understanding.</td>
<td>Complicates code maintenance and understanding, leading to a higher learning curve and increased development time.</td>
</tr>
<tr>
<td>Backward Compatibility<br>Issues</td>
<td>Strong commitment to backward compatibility hinders rapid evolution and maintains outdated practices.</td>
<td>Makes the language feel cumbersome compared to more modern languages.</td>
</tr>
<tr>
<td>Slow Compilation Times</td>
<td>Extensive use of templates and includes can lead to long compile times, especially for large projects.</td>
<td>Affects productivity and slows down development processes.</td>
</tr>
<tr>
<td>Dependency on the<br>Preprocessor</td>
<td>Reliance on the preprocessor for macros and conditional compilation can obscure code logic and introduce errors.</td>
<td>Makes code harder to read and maintain.</td>
</tr>
</table>
</center>
----
### III.3-c) C++ Project Difficulties
##### <p style="font-size: 27px; color: orange;"> III.3-c:i) Beginners and Students </p>
> **Challenges for Newcomers**
> `Definition ?`
> C++ can be daunting for those new to programming due to its complex syntax and multi-paradigm nature.
> `Impact on Learning ?`
> Discourages new programmers, who might choose languages with simpler syntax and less steep learning curves for their initial programming experiences.
> `Example`
> A beginner trying to understand pointers and manual memory management in C++ might struggle more than with Python’s straightforward syntax.
> `Reasoning`
> The broad feature set and complexity of C++ make it a less ideal choice for introductory programming courses, potentially hindering the growth of new programmers.
---
### III.3-d) How C++ Is Hated, And By Who ?
<center style="font-size:15px">
<table border="1" style="border-collapse: collapse; width: 100%;">
<tr>
<th>Type of Person</th>
<th>Reason for Dislike</th>
<th>Consequences</th>
</tr>
<tr>
<td>Beginners and<br>Students</td>
<td>Find the complexity and broad feature set of C++ daunting and challenging as a first programming language.</td>
<td>May discourage pursuit of programming or lead to a preference for simpler, more straightforward languages.</td>
</tr>
<tr>
<td>Developers from<br>Managed Languages</td>
<td>Accustomed to languages with automatic memory management and cleaner syntax, find C++ cumbersome.</td>
<td>Leads to frustration and reduced productivity when transitioning from managed environments.</td>
</tr>
<tr>
<td>Application Developers<br>Seeking Rapid Development</td>
<td>Impeded by slow compilation times and verbose code which are less ideal for quick prototyping.</td>
<td>Hampers fast-paced development cycles and iterative design approaches common in modern app development.</td>
</tr>
<tr>
<td>Proponents of Modern<br>Programming Practices</td>
<td>Value modern safety features and cleaner syntax, find C++'s slow evolution and backward compatibility frustrating.</td>
<td>May choose other languages that evolve more rapidly and incorporate modern programming practices more effectively.</td>
</tr>
<tr>
<td>People Exposed Only to<br>Poorly Done C++ Code</td>
<td>Those whose only exposure is to poorly implemented C++ code are likely to develop a strong dislike for the language.</td>
<td>Forms a biased negative perception that may discourage further engagement with the language.</td>
</tr>
<tr>
<td>Users Frustrated by Its<br>Complexity and Verbosity</td>
<td>Users who switch from more streamlined, modern languages to C++ often find its complexity and verbosity a significant deterrent.</td>
<td>Leads to frustration and a preference for languages with more intuitive syntax and features.</td>
</tr>
</table>
</center>
----
### III.3-d) How C++ Is Hated, And By Who ?
##### <p style="font-size: 27px; color: orange;"> III.3-d:i) There are only two kinds of programming language </p>
> **Continued Evolution**
> `Definition ?`
> Despite being a decades-old language, C++ is regularly updated with modern features like auto type deductions, range-based loops, and smart pointers.
> `Clarification of Misconception ?`
> C++ is far from outdated; it continues to evolve and remain relevant in modern software development contexts.
> `Example`
> The introduction of the C++20 standard added concepts, modules, coroutines, and more, which modernize and simplify the language significantly.
> `Reasoning`
> The ongoing development and inclusion of contemporary features ensure that C++ remains a powerful tool for developers in various domains.
---
### III.3-e) C++ Misconceptions
<center style="font-size:18px">
<table border="1" style="border-collapse: collapse; width: 100%;">
<tr>
<th>Misconception</th>
<th>Reality</th>
<th>Clarification</th>
</tr>
<tr>
<td>C++ is Outdated</td>
<td>Despite its age, C++ continuously evolves with modern features, maintaining its relevance in modern development.</td>
<td>Dispels the notion that C++ cannot compete with newer languages, highlighting its ongoing updates and performance advantages.</td>
</tr>
<tr>
<td>Only Useful for<br>System Programming</td>
<td>While great for system programming, C++ is also widely used in game development and real-time simulation.</td>
<td>Emphasizes the versatility of C++, showing its applicability in various high-performance domains beyond system-level tasks.</td>
</tr>
<tr>
<td>C++ is Inherently<br>Unsafe</td>
<td>Modern C++ encourages safe programming practices and better memory management features to mitigate risks.</td>
<td>Counters the unsafe reputation by promoting the disciplined use of its modern features for secure application development.</td>
</tr>
<tr>
<td>C++ Has No Future</td>
<td>C++ remains highly relevant in industries where control over hardware and performance optimization is critical.</td>
<td>Ensures its pivotal role in performance-critical applications despite claims of its obsolescence.</td>
</tr>
<tr>
<td>C++ Is Just an Object-Oriented<br>Version of C</td>
<td>C++ supports multiple programming paradigms, including procedural, functional, and generic programming, not just object-oriented.</td>
<td>Highlights the versatility and depth of C++, dispelling the notion that it's merely an extension of C.</td>
</tr>
</table>
</center>
----
### III.3-e) C++ Misconceptions
##### <p style="font-size: 27px; color: orange;"> III.3-e:i) C++ Has No Future </p>
> **Enduring Relevance**
> `Definition ?`
> Contrary to the belief that C++ is becoming obsolete, it remains integral in fields requiring high performance and system-level control.
> `Clarification of Misconception ?`
> C++ is continuously developed and used in cutting-edge applications, from game development to real-time systems, maintaining its necessity in many high-tech industries.
> `Example`
> C++ is the backbone of many modern game engines and critical systems where performance and low-level hardware interaction are paramount.
> `Reasoning`
> The ongoing need for high-performance computing ensures C++'s place in the development of performance-critical software, demonstrating its future-proof nature in the tech industry.
---
## III.4 - Any Question ?
<figure style="margin-right: 100px; text-align: center;">
<img src="https://hackmd.io/_uploads/SJpiEsXUA.png" alt="" style="height:500px; width: 500px">
<figcaption>Please use <code>C++</code> !</figcaption>
</figure>
{"title":"Star Edu, Slide 3","description":"\n\\begin{array}{c}\n\\texttt{C++ Competitive Programming Course}\\\\\n\\textbf{Introduction to Competitive Programming}\\\\\n\\end{array}\n","contributors":"[{\"id\":\"a22ea847-846d-438a-bc33-27664a818ea5\",\"add\":343724,\"del\":243797}]"}