Kickstart Your Software Developer Journey

“If you have a dream, you can spend a lifetime studying, planning and getting ready for it. What you should be doing is getting started.” – Drew Huston 🚀 1. From Dream to Action Believe & Begin: Nothing changes until you take that first step. Trust the Process: Learn, experiment, and adapt—growth happens in motion. Goal‑Driven Planning: Define your end goal and work backwards to map out the skills and milestones you need. 🎓 2. Learning to Code (and Beyond) The Big Picture ...

2 May 2025 Â· 3 min Â· 597 words Â· Ahmad Adillaumam

Homo Ludens

🌟 Introduction: The Innate Desire to Play The urge to play is intrinsic to humans, reflecting how we engage with the world. As Shakespeare said, “All the world’s a stage.” 🎭 Plato also reminds us: “Life must be lived as play.” Play is more than mere recreation; it’s a natural way to learn, express ourselves, and find meaning in every experience. 🎯 Play Variables Play has defining characteristics that set it apart from other activities: ...

1 May 2025 Â· 3 min Â· 586 words Â· Ahmad Adillaumam

Welcome to Artificial Intelligence

Introduction to Artificial Intelligence Natural Intelligence Artificial Intelligence the task is done by human using Intelligence if we add this human natural intelligence to a machine Artificial Intelligence is The Science and Engineering of making Intelligent Machines ~ John McCarthy Road Map to Artificial Intelligence 1. Programming Language Python R Lisp Prolog Java 2. Mathematical Knowledge Linear Algebra Probability and Distribution Statistics Vector Calculus Matrix Decomposition 3. Machine Learning Algorithm An algorithm is a step by step method of solving a problem ...

30 April 2025 Â· 4 min Â· 732 words Â· Ahmad Adillaumam

Software Architecture Patterns

Introduction It is common for programmers to create software without careful preparation. This sometimes makes the software difficult to maintain and develop when it has already been made. Therefore, before making a large software, one of the things that must be done is to choose the architecture that will be used. In choosing a software architecture, we must understand its advantages and disadvantages, so that it helps in the creation of the software to be carried out. Software Architecture Patterns Architecture Patterns are a collection of architectural styles in software development. There are many Architecture Patterns, and each pattern has its own advantages and disadvantages. In Architecture Patterns there is no right and wrong, but whether it fits or not. Programmers need to know about this material so that they can determine what pattern to use when creating software. Purpose of Architecture Patterns Each Architecture Pattern has characteristics such as easy to develop, scalable and easy to maintain. The hope is that by using the right Architecture Pattern when making software, the results of the software we make will be easy to develop in the future. Architecture Classification Software Architecture Patterns are broadly divided into two classifications, Monolithic and Distribute. Monolithic is a single deployment unit or runs in one application. Distributed is multiple deployment units, usually consisting of several applications. Monolithic Architectures Monolithic Architecture is generally very simple compared to Distributed Architecture. Monolithic application design is simpler and easier to implement. Applications that use Monolithic Architecture will be very fast to build and distribute. Distributed Architecture Distributed Architecture usually consists of several applications working simultaneously, in contrast to Monolithic applications which are only one application. Usually in Distributed Architecture, each application unit is called a Service. Distributed Architecture development is more complex than Monolithic Architecture, but offers advantages such as fault tolerance, for example when one service fails, other services can still run normally. ...

29 April 2025 Â· 23 min Â· 4709 words Â· Ahmad Adillaumam

Learn From Free College Cs Courses

CollegeCompendium.org A nonprofit aiming to improve access to high-quality educational computer science resources for intellectually curious people across the world. How To Audit Courses What is Learning? “The activity or process of gaining new knowledge or skills by studying, practicing, being taught, or experiencing something” ~Merriam Webster Learning Through Institutions Structured Sequential Compulsory Experiential Other forms of education, such as home-schooling, also share several of these qualities. Autodidactic Learning You determine the topic you study, the source you learn from, and when you learn it. Flexible Non-Sequential Other Incentives Independent Self-proclaimed “unlettered man.” Less than 3 years of formal schooling. Partly taught himself how to code. Learning on the Internet. Ask Yourself
 What do I want to learn? Why do I want to learn it? When do I want to learn it? Are there prerequisites? Are these resources accurate and trustworthy? Learning on the Web Once you “learn” how to learn on the web, you can achieve anything! The ability to learn on the web is among the most valuable skills you can have. What Does It Mean to ‘Audit’? What is Auditing a Course? Access to lectures/notes. No grade/credit. No assignment feedback. Often remote. Usually inexpensive or free. History of Auditing Structured Customizable - MIT Open Course Ware. - Coursera. - College Compendium. - YouTube. - Khan Academy. - Sololearn. Why Should You Audit Courses? Bridging Formal Education with Self-Guided Learning Formal + Self-Guided = Auditing Structured curriculum. Often produced by accredited institutions. Flexible and customizable content selection. Public and free! Use Case #1 : You’re Considering Applying to a Program Explore a department and their faculty. See the types of instruction. Discover if areas covered match your interests. Use Case #2: You’re Already an Enrolled Student Supplement your current courses with relevant material. Explore academic interests at low cost without risking grades. Potentially take courses not offered at your school. Use Case #3: You’re Looking to Upskill/Change Careers Explore new subjects and career areas. Build context for necessary competence for career change. Stay competitive within your job or industry. Use Case #4: You’re Looking to Freshen Up On a Topic Pick up former skills. Build experience with new frameworks/models. Develop a more advanced understanding of previously familiar topics. Use Case #5: You’re Just Intellectually Curious! Pick up a language/framework for an upcoming interview. Gain practical experience through project-based courses. Prepare for an upcoming class on a certain topic. How to Choose the Right Topic Assess Your Interests What fascinates you? Is there anything you want to create that requires knowledge on a topic? How excited are you to spend your free time learning about this topic? Assess Your Skill Level How much do you know about your chosen topic? Have you had formal exposure to or instruction on this topic in the past? Assess Your Goals Why did you choose this topic? Are you aiming to build a project or pass an interview? What specifically about your chosen topic do you want to use or better understand? Insight Ensure your topic aligns with your goals. Popular topics: python, algorithms, data structures. Experiment before committing! How to Choose the Right Course What’s your learning style? How do you prefer to learn? Visual: Do you prefer to learn with graphical depictions such as charts/images? Auditory: Do you prefer to learn when listening to others present, such as in lectures? Kinesthetic: Do you prefer to learn through creating hands-on projects? Reading/Writing: Do you prefer to learn by completing worksheets, notes, or flashcards? What’s Your Time Commitment? How depth the course? How much content & assignment they offer? Experiment before committing! Adjust with your schedule and goals. Where Do You Want To Learn From? Which institution and how the content being deliver? Trustworthy institution. Tutor style. Examining Courses Course description. Syllabus (outline of course). Prerequisites. Explore course pages. Sample courses. How Do You Define Success? Know what the course offers before you dive in! Is it match with your goals? Track your progress! Making the Most of Your Audit Set realistic schedules. Evaluate how you can work a course audit into your schedule. Be organized! Make an actionable plan and stick to it as best you can. Set a reasonable schedule for yourself. Be consistent! Ensure you are studying at the pace you set for yourself. Re-evaluate if issues arise. Be studious! Review material frequently! Stay disciplined and try to avoid multitasking while learning. Be motivated! Set short-term goals and reward yourself when you achieve them! Be persistent! It’s impossible to “fail” when you’re in charge! If you’re struggling with something, take your time. Be accountable! Find someone to ask you about the course, or put yourself into a position to be asked about your progress. Don’t code alone! Obtaining help. Ask for help at Stack Overflow, GitHub Forums, or a programming community Discord server. Speeding through courses. Move at a pace where you’re confident in your understanding of the material. Textbooks. Sites like FreeCodeCamp and College Compendium provide ways to find free textbooks. Complementary Learning. Additional Enrichment. Dive into the details with academic papers from sites like PapersWithCode. Common Pitfalls Time mismanagement. Setting enough time aside for your audit can be difficult. Consistently re-adjust your schedule as needed. Getting distracted. Many students lose energy or interest. TV, social media, and more can also take up valuable time. Not engaging with other learners. Take advantage of other means of social learning online! Ways To Confirm Your Knowledge Quiz yourself; Flashcards - Quizlet, Brainscape, Anki. Have others quiz you; Join an online community. Try and apply the knowledge in some way; Build a project. Next Steps Consider auditing courses sequentially to build on previous concepts. Consider mixing and matching courses from various sources. Prioritize foundational math. Calculus, Statistics, Linear Algebra, Discrete Math. There’s always more to learn! Source: ...

28 April 2025 Â· 5 min Â· 965 words Â· Ahmad Adillaumam