# SOFTWARE ENGINEERING AT BLOCKFUSE LABS: WEEK 4 Week 4 at the hub was action packed as usual, we learned some vim commands and vim macros, we also started a new language, which was python and we got introduced to a new concept at hub called "Hands-on-Fridays"; a period of live coding sessions and tests to validate our knowledge of concepts taught within the week. **WEEK 4 RECAP AND COURSES/TOPICS** **VIM COMMANDS AND VIM MACROS:** We went further into learn more about the vim editor and executing of a our programs without leaving the vim environment, navigation and also easy ways to modify our scripts or programs easily. During this interaction we got to know about macro or vim macro. A macro is a sequence of actions that you can record and then replay to automate a repetitive task. In simple put terms, whenever we have a task that requires repetition of a single action; for example to delete the last character of every word from a list of words, we can use macros to record the first action of us doing this process and then instruct the vim editor to handle the rest of the actions for the remaining words in the list. **INTRODUCTION TO PYTHON PROGRAMMING LANGUAGE:** ![Screenshot from 2025-07-06 09-58-02](https://hackmd.io/_uploads/SJUIkfOBle.png) A simple pyhton code to print "Hello World!" We started python by going over the basics of computer and what a computer is. We went over why instructions are very important to computers and the need of having to pass those instructions to the computer in a language the computer can understand. **APPLICATIONS OF PYTHON** We learned about the applications of python and its use case and the various popular franchises or businesses that were developed by and still run on python, example; Pinterest and Dropbox. Python has very many applications, it is used in developing games, websites, mobile applications and AI. These are only but a few of python applications. **SYNTAX AND STRUCTURE** Python is a dynamically typed language; meaning the type of a variable is not fixed and not even at compile time but the type of a variable is determined during runtime when the code executes and this allows for the same variable to hold different types of data at different points of the program. While being dynamically typed, python is also strongly typed, meaning python enforces type checking where operations are performed based on the type of data.Example, in situation where a user is trying to add a string and an integer, this will result to a TypeError because python does not automatically convert the string to an integer.Going by this you will already know that python is not a compiled language but an interpreted language; meaning the codes or the program is executed line by line at runtime. ![Screenshot from 2025-07-06 10-04-45](https://hackmd.io/_uploads/H1i3xGOHel.png) Receiving input from a user and storing it in a variable. **DATA TYPES** We had a brief look at some of the data types in python which were, strings, float, integer, list, set and dictionary. ![Screenshot from 2025-07-06 10-01-49](https://hackmd.io/_uploads/SyJWxGOHxl.png) Data types in python programming language. **CONCLUSION:** Having begun our python journey, I learnt, to have an illustrious career in AI or revolving around AI, python is the go-to programming language and should be taken seriously. With its flexibility and very many use cases, it supersedes most of the languages when it comes to AI.