top of page

September - Intro to Software Development

Interacting with computers and files is a key component of software development.

September - Intro to Software Development

Interacting with computers and files is a key component of software development. Since I will be using an Ubuntu workstation throughout the remainder of this year, I learned how to interact with the Linux OS Command Line to create new repositories and navigate through filesystems. I became familiar with many commands, including echo, pwd, cd, ls, and hostname (figure 1). Another way I strengthened my technical expertise is through Git and GitHub. I initially thought these meant the same thing, but I now realize that Git refers to the version control software and GitHub refers to a web service that allows you to access Git from a remote server. After following tutorials, I am now able to create new repositories, add files, and commit any changes (figure 2). Knowing how to use the command line and version control will be essential for future projects, as it allows me to track progress locally.

My capstone project will require the use of Kivy and Raspberry Pi. I refreshed my knowledge of Python to lay the foundations for learning this new software, putting an emphasis on classes and object-oriented programming (figure 3). Next, I mastered programming in PyCharm before creating an example Kivy Mobile App (figure 4). The part of Kivy that I found myself enjoying the most was the KV Design Language (figure 5); KV reminded me of building websites with HTML and CSS, which is a passion of mine. However, the best way to truly learn a new language or library is by incorporating individual design, so I created my own example User Interface using the DPEA’s Raspberry Pi Common Template (figure 6). One challenge I encountered was the slider’s bounding box overlapping with nearby buttons. I eventually collaborated with Mr. PZ to adjust the size and position attributes, resolving the issue and allowing the program to run seamlessly. Later on, I incorporated button animations to make this User Interface more visually appealing.

DELTAS:
Seeking relevant information: While learning the ins and outs of Kivy for the first time, there were multiple instances where I ran into a problem that I was unsure how to approach. One such instance was adjusting the slider's bounding box, as mentioned above. After trying to solve the problem on my own, I searched for relevant online resources and documentation on the languages and libraries I was using. I then consulted ChatGPT if those methods were ineffective, careful to ask a general programming question rather than for a specific solution. When all else failed, including suggestions from my peers, I would ask a mentor for guidance.

Self motivation and wellness: While the ability to program comes easily to me, operating systems and commands are unfamiliar areas of computer science that can feel complex and unnecessary in comparison. However, when I began to focus on those feelings, I reminded myself about the larger picture; these skills will be very useful once I begin to work on a project and manage countless files. These affirmations allowed me to focus on learning software development and enjoying the work that I have the privilege of participating in.

bottom of page