Saturday, 27 February 2016

Log for 25 February 16

Content:

  • Setting up Raspberry Pi and its different components, eg. Micro SD card, Wifi Adapter, etc



  •            Creating Loops on Python IDLE


  •           Switching Directories and performing commands in Raspberry Pi Terminal

Process:

We received our kits today, opened it up and started to assemble our Pi as shown by Mr Zhou. It was not hard to actually set up the Pi and the hardware into the product as shown in the picture above. The  Pi is a relatively small and simple single-board computer which I am sure most people would be able to set up and make use of. However, the possibilities are immense with this product and I am excited to find out more of the capabilities of the Pi and to source for some possible projects my group can embark onto for our CID 4. We also created several loops on Python IDLE to create several mathematical functions such as factorial.

Reflection:

Besides the CID 4 project that we will be embarking on, I am also interested in doing my own project or creating some of my own products and services with the Raspberry Pi and Arduino. This is because I am extremely interested in exploring and studying this area and I believe I should further my learning individually so that I can maximise my understanding and abilities. I am interested in creating some products or systems that can be used in my own home, so that I can see the results of my own labour at home and solve some of the small household problems I have. One of the drawbacks that I face is definitely the cost of such a project, which I would have to foot myself. The Raspberry Pi Zero, which costs just $5, is one of the options I am considering, but the hardware that is necessary along with it will hike up the costs, as well.

The creating of Loops, although not the hardest, showed us how closely related programming is to mathematics. Loops are a very important part of programming as it is one of the most prevalent and most needed. It appears in so many areas of our daily life. Apart from further self-studying and experimenting with programming, it made me motivated to further study math on my own and to make sure I understand well the math in class so that I will become a more well-rounded programmer.

Personal Development:
It was my first time seeing and setting up the Raspberry Pi.  I also got to revise some of the Terminal commands which I have learnt awhile back and I am glad I still do remember most if not all of it. I am excited to brainstorm with my team what ideas we have for our Raspberry Pi project. I also got to revise the setting up of loop on the Python IDLE. To me, learning programming is juse like that of anything else. With continual revision, application, and exposure, we will be able to remember what we have learnt much more effectively. Sometimes, I find that due to prolonged periods of time where I have not used a particular Python syntax, I tend to forget what I have learnt beforehand. Hence I feel that not just is improvement and further learning important, frequent revision of the concepts we have already known is just as important. I will over time include more and more revision of my programming knowledge as I add more and more concepts to my library of knowledge.

About Raspberry Pi

A Raspberry Pi is a credit-card sized computer originally designed for education, inspired by the 1981 BBC Micro. Creator Eben Upton's goal was to create a low-cost device that would improve programming skills and hardware understanding at the pre-university level. But thanks to its small size and accessible price, it was quickly adopted by tinkerers, makers, and electronics enthusiasts for projects that require more than a basic microcontroller (such as Arduino devices).

The Raspberry Pi is slower than a modern laptop or desktop but is still a complete Linux computer and can provide all the expected abilities that implies, at a low-power consumption level.
The Raspberry Pi was designed for the Linux operating system, and many Linux distributions now have a version optimized for the Raspberry Pi.

Friday, 12 February 2016

Log for 11 February 16


Content:

·         How to use if, else, and elif statements to set conditions eg. to find out which years are leap years
o   def is_leap_year(x):
if x % 400 == 0 :
return True
elif x % 100 == 0 :
return False
elif x % 4 == 0 :
return True
else :
return False


·         Spotting and creating a valid function definition







               







·         Reading functions and predicting output



·         Implementing functions to meet specifications




Process:


It was our first time being exposed to Coursemology. I feel like it is a very engaging and
helpful platform for us to learn. We completed several Coursemology questions to help us
put into practice and refine the skills we have just learnt. I will most definitely use Coursemology as a learning and self revision tool in the future  as it has a self mark option. We will immediately be marked on our answer after submission and this makes it very convenient for us to learn and revise as and when we like. Coursemology also has a very interesting interface and system that makes it fun and enjoyable to complete the tasks in it. There are many exercises in Cousemology and I look forward to completing all of them as I become better-versed in programming through my journey of learning.

Through the learning of the 'if', 'else', and 'elif' functions, we got exposed to one of the most basic yet essential programming functions. The most important skill from learning this, apart from the function itself, was that it was our first exposure to computational thinking. Being able to think computationally is important for us to become more successful programmers. Through the learning of this three functions, we understood the running of codes, from the top line to the bottom line in sequence and thus could understand the sequence we had to code in and how to make our codes run in the order we want them to. At the start, we also created codes that were unnecessarily long in length. We also learnt to make our codes more simple and concise so that our codes would be less messy and more easy to read and debug if necessary. I agree that such organisation is important and the mark of a good programmer. A good programmer should be able to write effective codes that can be simply understood once read.


Reason:
These are some of the basic coding that we may need that can help us in game-creation, our Raspberry Pi project, and so on. In everything, the basics and fundamentals are extremely important and programming is no exception. Without knowledge of the basic concepts and computational thinking, one cannot be effective in coding.

Personal Development:

Today, I got to put into use several of the programming concepts I have already learnt before. Even though it was somewhat a revision session for me, it was definitely not an easy one. The activities in Coursemology were effective in giving me a glimpse of what programming is like as we had to build or modify codes to fit a particular objective. I was able to learn and understand alot today.