I am a software enthusiast who focuses on creating and building software that delivers the best digital experiences. As a co-founder of VINTAGE Team, I am committed to producing products that are accessible to all and human-centered. I first entered the practice of software development in Gasabo, Kigali in 2018 specializing in HTML-based Web development and mobile app design using JavaScript and some of its most popular frameworks like ReactJS and Node.JS to mention only a few. After completing my junior year in high school, I moved on to Artificial intelligence and I started learning new programming languages like Python. Aside from software development, I am also a passionate music lover. Music expresses my deepest emotions. When I'm singing, I often imagine that somewhere, there are other people singing the same song but probably in their native language. I’m reminded that however culturally or linguistically different people might be, music is a universal link between them. Through it, I appreciate diversity. Fearless by Lost Sky is a song that is currently speaking to me. I have reached the point where I'm beginning to face reality, moving away from my parents' care and meeting new people with new perspectives. I believe that I have to approach this chapter with caution and "Fearlessness".
Randolph Frederick Pausch was an American professor of computer science at Carnegie Mellon University for ten years between 1997 and 2007. He was diagnosed with pancreatic cancer in 2006 and later, multiple tumors in his liver in 2007. He died of complications in his pancreas in 2008.
Professor Randy Pausch is mostly known for his "Last Lecture" which in his words, was meant for his kids but the public ended up finding value in it.
1. His positive view on life as a whole which was inspiring for me. Most people would be depressed if they were in a similar situation but he was strangely upbeat and kept on living his life.
2. Time is the most precious commodity we can have because you can never get it back. I know this sounds cliche but this is often overlooked but I loved how he explained this point saying he used to kick students complaining about high tuition fees out of his office.
3. Live a life you enjoy. This applies in every aspect whether your job, academia, or even fashion if you're into that kind of stuff.
4. "Being successful doesn't make you manage your time well. Managing your time well makes you successful."
5. My personal favorite was when he pointed people(including me) most oftenly focus on doing things right, instead of focusing on doing the right things. There's a difference.
1. What is a decision problem? According to Wikipedia, a decision problem in computability theory or computational complexity theory can be defined as any problem that can be posed as a yes-no question of the inpiut values. (https://en.wikipedia.org/wiki/Decision_problem)
2. What does it mean for a decision problem to be decidable? A decision problem is said to be decidable or effectively solvable if the set of inputs (or natural numbers) for which the answer is yes is a recursive set. A problem is partially decidable, semidecidable, solvable, or provable if the set of inputs (or natural numbers) for which the answer is yes is a recursively enumerable set.(https://en.wikipedia.org/wiki/Decision_problem)
3. What is the class P? What is the class NP? Class P is a class of all decision problems that can be solved in polynomial time by deterministic algorithms. Deterministic algorithms are the algorithms that do not guess at a solution. Class NP is the class of all decision problems that a nondeterministic algorithm can solve in polynomial time. a nondeterministic algorithm is an algorithm that can guess at the solution (nondeterministic step) but checks that the solution is correct using a deterministic algorithm. (http://www.csl.mtu.edu/cs4321/www/Lectures/Lecture%2025%20-%20P%20and%20NP.htm#:~:text=Class%20P%20is%20a%20class,not%20guess%20at%20a%20solution.)
4. What is the intuitive meaning of the "P versus NP" question? P is a set of relatively easy problems, and NP is a set that includes what seem to be very, very hard problems, so P = NP would imply that the apparently hard problems actually have relatively easy solutions.(https://news.mit.edu/2009/explainer-pnp#:~:text=Roughly%20speaking%2C%20P%20is%20a,actually%20have%20relatively%20easy%20solutions.)
5. If you resolve the P versus NP question, how much richer will you be? If you can prove or disprove its cryptically short equation, you’d be a million dollars richer—and maybe even billions of dollars richer, depending on your scruples. It is also said that if you solve this problem, you could steal all the bitcoin in the world. (https://gizmodo.com/if-you-solve-this-math-problem-you-could-steal-all-the-1836047131)
Major computer security issues in Qatar
1. Qatar National Bank Suffered a Massive Breach. In 2016, the bank suffered from a massive data leak. Around 1,4 GB of information was posted online on the whistleblower website Cryptome. There are almost 15,500 documents with bank corporate files and customer information in clear text. There are passwords, credit card numbers, expiration dates, PINs, credit holder names, account details, credit limits, etc. Numerous sources verified that the data was legitimate. One of the users tried to use leaked information to log into the existing account for research purposes and almost succeeded. The bank luckily has two-factor authentication and did not let the user in. The breach also affected some of the government representatives and media outlets.(https://www.cyberlands.io/topsecuritybreachesqatar)
2. Qatar Airways Suffered a Phishing Scam. In 2019, there was a massive phishing attack connected to the airline. It was the holiday season and users were actively searching for traveling opportunities. WhatsApp users have received a message that stated that Qatar Airways gives away free tickets for their anniversary and that users have to follow the link to claim their ticket. They had to complete the survey and send the message to other 15 WhatsApp users. The text message looked like Qatar Airways and the link seemed to be legit as well. The company had to issue a statement regarding the attacks. They asked users to not follow the link and buy tickets from their websites or travel agencies only. The phishing message was still sent around for more than a month, even after the official statement. ( https://www.cyberlands.io/topsecuritybreachesqatar)
1. What is Big Data? Big data refers to data sets that are too large or complex to be dealt with by traditional data-processing application software. ( https://en.wikipedia.org/wiki/Big_data)
2. What is cloud computing? Cloud computing is the on-demand availability of computer system resources, especially data storage and computing power, without direct active management by the user.(https://en.wikipedia.org/wiki/Cloud_computing)
3. Is cloud computing a novel technology per se or an amalgamation of several traditional technologies? Simply put, cloud computing is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale.(https://azure.microsoft.com/en-in/resources/cloud-computing-dictionary/what-is-cloud-computing/)
4. What are the 3 major cloud computing service models? Software as a service (SaaS), infrastructure as a service (IaaS) and platform as a service (PaaS).(https://www.techtarget.com/whatis/SaaS-IaaS-PaaS-Comparing-Cloud-Service-Models#:~:text=There%20are%20three%20major%20cloud,as%20a%20service%20(PaaS).)
5. Name at least 3 real-life problems that cloud computing can help solve them. Vulnerability to disasters. ... Benefit for disaster recovery. ... Increased long-term costs. ... Boosts cost efficiency. ... Provides flexible pay options. (https://blog.leaseweb.com/2018/03/20/15-business-problems-that-can-be-solved-by-moving-to-the-cloud/)
6. What is the economic/business model of cloud computing? Cloud isn't a technology — it's a new business model powered by new technologies. Cloud sells IT infrastructure, platforms and applications as services. Its on-demand, “pay as you go” model reduces the time, money and people it takes to build and deploy infrastructure and applications. (https://www.globalknowledge.com/us-en/resources/case-studies/why-you-need-to-treat-cloud-computing-as-a-new-business-model/#gref)
1. Why did we move from punch cards to programming languages? What does that tell you about the purpose of programming languages? Punched cards were still commonly used for entering both data and computer programs until the mid-1980s when the combination of lower cost magnetic disk storage, and affordable interactive terminals on less expensive minicomputers made punched cards obsolete for these roles as well. However, their influence lives on through many standard conventions and file formats. The terminals that replaced the punched cards, the IBM 3270 for example, displayed 80 columns of text in text mode, for compatibility with existing software. Some programs still operate on the convention of 80 text columns, although fewer and fewer do as newer systems employ graphical user interfaces with variable-width type fonts. (https://en.wikipedia.org/wiki/Punched_card#:~:text=Punched%20cards%20were%20still%20commonly,for%20these%20roles%20as%20well.) Computer programming languages allow us to give instructions to a computer in a language the computer understands. Just as many human-based languages exist, there are an array of computer programming languages that programmers can use to communicate with a computer. These languages allow computers to quickly and efficiently process large and complex swaths of information. (https://www.computerscience.org/resources/computer-programming-languages/#:~:text=Computer%20programming%20languages%20allow%20us,to%20communicate%20with%20a%20computer.)
2. There are hundreds of different programming languages out there. Why do you think we need so many? I strongly believe that the main reason why there are many programming languages out there is that different problems require different tools to solve them. Each programming language has certain features and characteristics that make it suitable for specific tasks. (freecodecamp.org/news/why-are-there-so-many-programming-languages/#:~:text=To%20sum%20it%20up%2C%20the,it%20suitable%20for%20specific%20tasks.)
3. What are some drawbacks of a programming language you use? How would you like it to be different? Think of specific examples. Python is slower than C or C++. But of course, Python is a high-level language, unlike C or C++ it's not closer to hardware. Python is not a very good language for mobile development . It is seen as a weak language for mobile computing. This is the reason very few mobile applications are built in it like Carbonnelle. Python is not a good choice for memory intensive tasks. Due to the flexibility of the data-types, Python's memory consumption is also high. Python has limitations with database access . As compared to the popular technologies like JDBC and ODBC, the Python's database access layer is found to be bit underdeveloped and primitive . However, it cannot be applied in the enterprises that need smooth interaction of complex legacy data. Python programmers cited several issues with the design of the language. Because the language is dynamically typed , it requires more testing and has errors that only show up at runtime . I believe that fixing these drawbacks would undoubtedly place python as the best language in the history of programming. (http://net-informations.com/python/iq/disadvantages.htm)
4. If you were going to create a new programming language, how would you start? What do you need to define?
To make a language usable in practice we frequently need to write a few supporting tools.A compiler is a fundamental piece of the puzzle but making a new programming language requires more than that: A language has to be designed: the language creator has to take some fundamental decisions about the paradigms to be used and the syntax of the language, a compiler has to be created, a standard library must be implemented, and Supporting tools like editors and build systems have to be provided.
1. How do define AI? According to TechTarget, Artificial intelligence is the simulation of human intelligence processes by machines, especially computer systems. (https://www.techtarget.com/searchenterpriseai/definition/AI-Artificial-Intelligence#:~:text=Artificial%20intelligence%20is%20the%20simulation,speech%20recognition%20and%20machine%20vision.)
2. Can you name at least three different sub-fields of AI? a) Machine Learning b) Neural Networks c) Robotics d) Natural Language Processing e) Vision f) Evolutionary Computation
3. AI has been around since about 70 years so far. Why is it booming right now? a) Advancements in computing power and storage. b) Advanced Algorithms. c) Increased data volumes.
4. Can you name at least three application sectors where robots are being largely employed? What are the reasons? a)Health Care. They have been used to automate some processes as it has been observed that they tend to be much more efficient than humans and hence improving patient care. b)Agriculture. To help increase productivity while lowering overall costs, the agriculture industry has been actively working to adopt different forms of robotic technology. Farmers have already been using tractors and harvesters that are self-guided by GPS. c) Military. In the military and public safety sectors, robotic technology is being applied in many areas. One highly visible area involves unmanned drones. These machines can be used for surveillance and support operations on the battlefield.
5. Can you identify three major challenges for a wheeled autonomous robot performing a 24h surveillance task in a large facility? (e.g., something like Mall of Qatar) Mapping, localization, and navigation are classic problems for mobile robots. Finding a good solution to these problems is needed as robots become totally autonomous, adaptable to changing circumstances, and expand their range of application. (https://www.automate.org/blogs/vision-challenges-for-autonomous-mobile-robots#:~:text=Mapping%2C%20localization%2C%20and%20navigation%20are,expand%20their%20range%20of%20application.)
1. What is a genome/DNA and why is it important to know? A genome is the complete set of genetic information in an organism. It provides all of the information the organism requires to function. In living organisms, the genome is stored in long molecules of DNA called chromosomes. (https://www.nature.com/scitable/definition/genome-43/#:~:text=A%20genome%20is%20the%20complete,molecules%20of%20DNA%20called%20chromosomes.)
2. Does CS have a significant role to play in studying why we are tall, organized, athletic, or healthy? Researchers in the computer science department are engaged in a wide range of computational biology projects, from genetic mapping, to advanced sequence analysis, fold prediction, structure comparison algorithms, protein classification, comparative genomics, and long-time simulation of protein molecules. (https://www.cs.cornell.edu/research/compbio#:~:text=Researchers%20in%20the%20computer%20science,time%20simulation%20of%20protein%20molecules.)
3. What are some of the important questions in biology and medicine that can be addressed with computer science? a) Can computers and tech be used to elongate a person's lifespan? b) Can computers be used to generate new genetic symbiotes?
4. Is it enough to study humans and the human genome? No it is not enough.
5. Is the industry interested in computational biology, or is it largely academic research? I would more towards the both of them.
Steve Shema NDAYAMBAJE
Sarissa theme designed by iozcelik