It is mandatory for students of computer sciences in their fifth semester to choose an elective course as electives are a great learning opportunity for students to learn something that is actually useful in real-life.
Developing apps and websites, learning new technologies are all a part of the learning experience. It is advised that you choose your elective course carefully after being aware of what to expect from the course and what you want to do after it.
This is a brief but insightful guide to choosing an elective. If you are still confused or if you do not know where to get started then you are in the right place.
It is assumed that the same elective course options will be offered to you that were offered to the Fall Semester 2017 students (our seniors) as referred from the date sheet below.
I have divided all of the above electives in two categories -
- Part-1: Expect a lot of theory and concepts. Electives under this category are basically introductions to their respective fields.
- Part-2 : Development and Programming. Electives under this category are more practical learning focused and expect a lot of programming if you choose them.
I have hands-on experience and know-how of every elective and I will be more than happy if I can be of any help to you in making your decision.
1. Introduction to Cloud Computing
Let us be very clear with the name - Introduction to Cloud Computing, it will be an introductory course covering concepts like types of cloud, deployment models, services, etc..
What is Cloud Computing?
Cloud computing is basically storing, managing, and processing of data on another computer rather than yours. For example, consider your WhatsApp messages or Contacts, they are backed up to the cloud(another computer) and even when your device is lost or damaged you can simply sign-in and get all of your messages or contacts back. If that data management would have been given into your hands you would have uninstalled every app from your phone because you can hardly manage data of a single app manually, let alone hundreds of apps that you have on your phone.
Cloud Computing ensures accessibility from anywhere, anytime using any kind of device.
Suppose a company or an individual set up a website and wants to host it. How will they do it without cloud computing? They can just host it on their computer and give people address to their computer. But, can they ensure that they will be accessible every time? even at night, what about when they are not around? Cloud Computing solves this by allowing companies to host their websites on other computers from people/firms who can ensure all of the above.
Another example is, suppose a website, some days it receives a lot of users, another day the number of users drop drastically, this keeps happening. The company cannot work with limited servers because that would hamper their growth, so should they go out and buy a new computer every time the user count is high? That would lead to a wastage of money as most of those expensive systems would sit idle when there are fewer users. Cloud storage renting companies like Amazon Web Services(AWS) provide other companies a space on their computers to host their services and this leads to companies being worry-free of maintaining a website and focusing on their actual product.
Suppose you made an app, how will you distribute it to people across the world if you have no app store. You’ll have to send the app file to people manually. But storing all of the apps available in the cloud ensures accessibility.
Facilities like Gmail and Google Drive allows you to manage the software from your device, is the software on your device? No. You are just accessing it and managing it from your phone or computer.
With the help of Cloud Computing, you can now execute your code on an IBM Quantum Computer from your home that too from any device!
Where you use it: WhatsApp, Gmail, Google Drive, Dropbox.
Who else uses it: Every internet based company out there.
- Cloud Computing for Beginners - Medium
- What is cloud computing? A beginner’s guide - Microsoft Azure
- Cloud Computing Tutorial for Beginners - Guru99
You will learn many concepts and techniques used in implementing cloud computing. You’ll be able to understand apps and platforms using cloud computing as well as you will be able to create cloud-based solutions to real-life problems.
Expect a lot of theory and concepts, as it is just an introductory course.
2. Introduction to IoT
Again, pay attention to the name of the course and you’ll realize that it is an introductory course for the vast field of Internet of Things (IoT).
What is IoT?
IoT stands for Internet of Things. The internet is no doubt one of the most important inventions ever. It allows us to connect with other people and share information, we share all kinds of information over the internet.
An internet connection to a device allows it to share information too and it has yielded amazing results in the past, an example is your smartphone, it can access the internet and send as well as receive data and therefore it is called a smart phone. How about we let devices share information over the network? Like a smart refrigerator which orders food before it is out of stock, or a smart TV that can send you alerts on your phone about your favorite TV show.
The internet was invented for computer systems, we enabled phones to connect to it and be on the network. Look where that led us. Today there are over 10 billion devices connected to the internet, these will be over 24 billion by 2020.
The Internet of Things is actually a pretty simple concept, it means taking all the things in the world and connecting them to the internet.
Information can be sent or received, an IoT capable device can do both. For collecting data for a specific purpose we need specific sensors like GPS for location or a camera for images. We also need another system that receives data and acts on it like a computer.
Where you use it: Assistants like Google Home and Amazon Alexa, Smartphones, Smart TVs, Smart Homes, Smart Watches/Bands, Wi-Fi enabled lights and home security systems.
Who else uses it:
In 2015, Samsung announced that by 2020 every Samsung device will be connected to the internet. That means every washing machine, air conditioner or microwave oven will be online, sharing data with each other.
Tech companies today are pouring money into buying other companies who manufacture smoke detectors, accelerometers, and other various kinds of sensors.
- What is the Internet of Things? And why should you care? - TEDx
- Internet of Things as Fast As Possible - YouTube | Techquickie
- Top IoT Devices - Potscapes
- 10 internet of things success stories - CIO
- Real World Applications of the Internet of Things (IoT) (Videos) - Analytics Vidhya
By the end of this course, you will be able to come up with IoT based solutions to real-life problems as you will be acquainted with all the methods and techniques in the field of IoT.
But do keep in mind that knowing all the concepts out there does not by default enable you to design and program IoT enabled devices. To be able to come up with solutions and to program them you need to have a good knowledge of programming and hardware since you’ll be working with Embedded devices, microcontrollers, and sensors.
3. Wireless and Mobile Computing
Another concept based course, a major part of the course will be theoretical.
Wireless networks are networks without wires, they use air to send and receive signals which carry data. Mobile computing refers to the device being able to change locations and get transported while being able to stream data without interruptions like your mobile phone. This course will be a further extension to the Data Communications from the third semester. All of the tools and techniques used for data communications will be applied to Wireless networks and advanced concepts like Radio propagation and modulation techniques in mobile will most probably be taught.
This one, in my view, is strictly an Electronics and Communications course inclined towards well, electronics and communications.
Where you use it: Wi-Fi, Bluetooth, Cellular Networks, Wireless Speakers, ScreenCast, Wireless Charging.
Who else uses it:
- When entire communication lines collapse in an earthquake, it is Wireless networks that are up and running.
- Cellular networks are everywhere as you know as they can also provide services in far away remote places.
- Wireless technology is easy to deploy than laying down communication lines, and hence it is trasforming lives.
- With 5G Coming this is the most exciting time to learn about networks and communications.
- Mobile Computing Solutions from Qualcomm, World’s Largest Manufacturer of Wireless Equipment - Qualcomm
- Different Types of Wireless Communication Technologies
That being said, I have studied many things from this field like Mobile Computing, 1G, 2G, 3G, 4G, 5G, Wireless Internet, Data Transmission, Channels, and Networks, and I assure you that once you get started, it is quite interesting to learn.
To be Continued…
In Part-2, I’ll be covering the remaining courses as they are more inclined towards development and follow a hands-on learning approach and good programming, as well as creative skills, are required to learn them.