# ==MARATHON WEEK AND CHALLENGES== > [name=AmazingCeazer] > [] > [time=Sun, Jul 6, 2025 5:10 PM] --- ## ==WEEK 4== The week began with emphasis laid on the need to always update our progress weekly through the hackmd page by the owner of blockfuse. And also annouced how the week will be a marathon and the need to tighten our belt for this week meaning that our classes will be everyday to be sincere it was worth it because i learned alot and that is why i will indulge you to sit tight and journey with me how the marathon week went. ## DAY 1: VIM: Navigating through VIM The vim editor was picked despite having so many other editors like Nano, Emacs, VI & Vim,VScode,Notepad,sublime. You might be wondering why? i did too but well! here is a simple answer pick what you confortable with and will give you the best and confortable result.Vim (/vɪm/vi improved) is a free and open-source, screen-based text editor program. It is an improved clone of Bill Joy's vi. > Vim's author, Bram Moolenaar, derived Vim from a port of the Stevie editor for Amiga and released a version to the public in 1991. Vim is designed for use both from a command-line interface and as a standalone application in a graphical user interface.Just a little"(wikipidia 2025). :::info VIM Modes: 1.Normal Mode 2.Insert Mode 3.Command Mode 4.Command Line mode ::: We have different type of insert modes on the keyboard to prompt vim terminal this are the keys to click "i","o","a","s" and the "insert"keys. Asked to make a bash script that prompts the user to input names,countries,maths calculations and display. :::success IMPORTANT COMMANDS INCLUDE; 1. x - to delete 2. dd- to delete 3. y - to yank or copy 4. p - to put or paste 5. u - to delete a singlee alphabet 6. split - to share vim terminal vertical and horizontal and many more commands 7. set number and many more. ::: >## DAY 2: MACRO >Macro commands are basically commands that allow you to run sequence of commands this inlcudes: Another strange word made mention of is "BUFFERS" well don't be confuse buffers are temporal space that stores your open files,buffers are stored on the RAM also know as the working memory before moved into the ROM to be saved ontill you choose to delete. ## DAY 3: PYTHON welcom to python that almost got me swallowed well this is not the snake you know called python but it also have the flexibility and stealthness of the snake none as python. Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.Python is dynamically type-checked and garbage-collected. It supports multiple programming paradigms, including structured (particularly procedural), object-oriented and functional programming. It is often described as a "batteries included" language due to its comprehensive standard library. It is said to be the most learners friendly programming language and considering the fact that bash scripting was taught the previous week.Python is believed to have fathered somany applications like Instagram,Google,Spotify,Pintress and also have futuristic ability in AI and robotics and web developement and so much more. It much more easier than low level programming languages like C++, rust etc. >python modes: 1.interactive modes 2.script mode we had to install python by typing in the command "sudo apt install python3" while to enter interactive mode type "python3" interractive modes don't allow one to save just simple arithemetics. ![Screenshot from 2025-07-06 15-09-38](https://hackmd.io/_uploads/SJN6QbdHee.png) The image above is a typical example how the interactive modes work. :::info >for addition: first_number = 7 second_number= 2 sub = first_number + second_number sum = 9 >for substraction: first_number = 7 second_number = 2 sub = first_number - second_number sum = 5 sub = first_number + second_number for so on for multiplication and division when you type an information statiscally it is also required you type your input variables. You need to understand that python is a dynamically typed language. variabeles are where values are stored for example "Name= Ava" Name is the variable while Ava is the value stored. ::: ## DAY 4: FORMAT FOR VARIABLES AND EXAMPLES They are different ways to format veriable well i find some of the names funny but well i get they are named according to the style they flow or by discovery as long as its valid any other valid out of the specified ones is invalid. >valid formats; 1.Snake case: Using "-" and "_" e.g first_name","first-name". 2.Pascal case: first letter of everyword is capitalised e.g "FirstName" 3.Camel case: First letter of the first word in lower case, while a letter in the middle case has a capital letter given it the need bend and hunch back like camel hence the name camel case. e.g firstName. :::warning >NB: To declare a variable,it needs to have three parts: the variable namem the assigned operator and value. e.g firstName=AVA where "firstName" is the variable "=" assigned operator "AVA" is the value ::: >NB: firstName=AVA where "firstName" is the variable "=" assigned operator "AVA" is the value What you need to understand is variables can store data different types which diffrent types can do different things to discuss this futher lets go a little deep into data types in python. data types in python: 1.string: str sequences of chaacters enclosed in single or double qoutes e.g "AVA" or 'AVA'this will still work. 2.Integer: Int this are whole numbers without decimals positive or negative e.g 1,-20,23 etc. 3.Float: The float() function converts the specified value into a floating point number. e.g x = float (3) print (x) answer = 3.0 if you have access to a vim try it to see the outcome it gives us floating point of any number that is why value(money) in your account always have a dot (.) and some change e.g 100.45,100000.245 etc. 4.list: Odered,mutable collections of items,enclose in sqaured e.g [10 "AVA" 9.3] 5.Dictionary: dict unordered collection of data in key value pairs most times enclosed in curled braces e.g {name: "AVA" "age": 30} # ==ZEN OF PYTHON== this is another intresting part of python that help you as a programmer understand the philosopies and principles that guide you and you need beautiful and well coded program and also readerbility by other programmers. ![Screenshot from 2025-07-06 16-41-54](https://hackmd.io/_uploads/r1iwtMuSeg.png) The zen of python is a poem that pronounce it philosopy and princilpe. ### DAY 5: TEST A crazy turn of event after spending a week and taken in alot of information and using vim and python3 friday came with another test. But here is the turn of event,we were asked to close our systems and a test on a peice of paper i was like for real. We where give about four tasks to write out the code on paper. This little test showed how we depended on system to pick our errors while writing codes this made me to realised that if my code will work on paper that means it will work 90% on system, we where urge to learn commands and how they work than dependance on acomputer. # CONCLUSION Somuch to say,do and show my progrssiveness on learning and practicing that will lead to me undestanding programming,commands,concepts well i belive practice makes perfect and we where given learning sites to watch study and improve. JOURNEY TO BECOMING A SOFTWARE ENGINEER CONTINUE..