Python

Number System Converter www.p-tools.com

Author: Jeconiah Richard, Calvin Scorpiano Halim, Rowin Faadhilah, Sunny Jovita, Mileno Valdo Elvano

Numbers are expressions that are used to describe quantity or used in making calculations. There are varieties of number types and they are used differently. Some are used in calculations, and in code they are used to describe other symbols or elements. Equally important, there are number systems, which are the technique to represent numbers in computer system architecture. In the other words, number system is commonly utilized to identify each type of number and how their functions.

Problem

In this modern era, computers represent all information and data from audio, images, videos, etc in binary numbers. Furthermore, people commonly use letters or words to communicate with each other. We send messages or information by typing letters or words. However, it is evident that computers don’t have brains like us. So how do they understand us?

Our Solution

Each numbering system holds different values than the others, but they can be converted into one another. Since manual conversion of these numbers usually take many steps and time, our group is motivated to create a number system converter for this project. With a number system converter, conversion would be easier to complete. Although there are many converters that are existing on the internet, we want to create something that is our own and it is more advanced rather than the other converters.

The Algorithms

For this project, our group had agreed to assign decimal number system as the main conversion. In other words, all the conversions start from decimal to other bases or otherwise, before changing it to another base.

How the program works

We made JavaScript functions that converts the different conversions into decimal, and from decimal into all the other conversions. When the ’Convert’ button is clicked, JavaScript will check which field is inputted by the user and ensures that only a single field is filled in. Once that check is passed, a function is called and it will convert the input into decimal form if it is not already. 11COMP6504 Computer Architecture Operating Systems After that, the function takes the decimal base to start converting the other conversions and return the resulting conversion in an array. This array will then be displayed in the order of its index in the fields to show the result of the conversion to the user.

Demo video: https://youtu.be/gbzbOVmACW4

COBY: COVID-19 Telegram Chatbot by EmployingMachine Learning Algorithms

Author: Muhammad Naufaldi, Sunny Jovita, Christensen M. Frans, Muhammad L. I. Hanafi and Nunung N. Qomariyah

COVID-19 pandemic has been one of the biggest concerns nowadays. People always curious and ask for immediate responses regarding the current situation. The chatbot can be very useful in this kind of situation which allows the system to understand text, which means it can respond appropriately. In order to be able to return the correct responses, the chatbot needs to learn how to classify the text data input from the users. In this paper, we study three different machine learning algorithms to work on text classification problems, namely Naive Bayes, Neural Network, and Support Vector Machine (SVM). An experiment was carried out to study which machine learning algorithms produce the most accurate responses when they are implemented in the Artificial Intelligence (AI) chatbot systems. In order to make sure the tests are consistent and fair, we conducted the experiment on the same dataset, and assessed the accuracy of their respective responses. In addition, we have also successfully implemented each of these algorithms as chatbots on a social media platform, Telegram.

Link for video: https://youtu.be/aiUFY9W1SgA

Worm, Virus, and Trojan Horse

Sunny Jovita -2301939046

Week 4

Disclaimer: This blog is for educational purposes only.

Hackers often use programming and computer network skills. Those skills are usually used to gain access to systems. Trojans, viruses, and worms can be used to steal sensitive data, disrupt business operations, etc.

Here, I will explain more details about the ways that hackers can use trojans, viruses, and worms to attack computer system.

Trojan

A malicious program used to control a victim’s computer from a remote location. Once activated, trojans can steal our sensitive data, and gain access to our system. These actions can include deleting, blocking, modifying, copying data, and disrupting the performance of computers or computer networks.

How to protect ourselves against Trojans

We can protect our devices from Trojans by installing anti malware software, including PC, laptops, smartphones, etc. An accurate or strong anti malware such as Kaspersky anti virus will detect and prevent trojan attacks our device.

Worms

Worm viruses are a malicious and self replicating programs that can spread throughout a network without human assistance.

Worms cause damage similar to viruses, exploiting holes in security software and potentially stealing sensitive information, corrupting files and installing a back door for remote access to the system, among other issues.

Classifications and names of worms include:
– Email-Worm
– IM-Worm
– IRC-Worm
– Net-Worm
– P2P-Worm

Viruses

A virus is a computer program that attaches itself to legitimate programs and files without the user’s consent. Viruses can consume computer resources such as memory and CPU time. The attacked programs and files are said to be “infected”.

A computer virus may be used to;
– Access private data such as user id and passwords
– Display annoying messages to the user
– Corrupt data in your computer
– Log the user’s keystrokes

Conclusion

There are various ways to protect systems from Trojan, worms, and viruses.

  • A policy that prohibits users from downloading unnecessary files from the Internet such as spam email attachments, games, programs that claim to speed up downloads, etc.
  • Anti-virus software must be installed on all user computers.
  • Regular backups of critical data must be made and stored on preferably read-only media.
  • Worms exploit vulnerabilities in the operating systems. Downloading operating system updates can help reduce the infection and replication of worms.
  • Worms can also be avoided by scanning, all email attachments before downloading them.

Object Recognition


Group members: Sunny Jovita, Jeconiah Richard, Christensen Mario Frans, Muhammad Lukman

Problem Description

Computers have a lot of magnificent functions that makes human life and work easier. With the additional vision ability given to computers, it will enable the computer to reach a wider scope of access. In our project, we use computer vision to detect objects that appear in the given frame by using OpenCV (Python library) and Caffe implementation of Google MobileNet Single Shot multibox Detection (SSD) to recognize them.

With this program, computers are now able to assist surveillance systems to detect humans in each location or can be advanced further to look up a person’s identity from a scene with TensorFlow and Keras. We have come up to the extent where the computer is able to detect humans in the frame and other 21 objects listed in the Caffe Model. This program is very possible to be further advanced, however, more computer power is required to do so. Here is the architecture of Single Shot Multibox that will be used in the program.

Related Work

In the process of making this project, there are several libraries that are used to make this program work. As mentioned in Section 1.2., OpenCV and MobileNet SSD are part of them. Here is the list of libraries that are used in the program:

  1. OpenCV library is commonly known as opencv-python and is imported to the code as cv2. cv2 is the latest version of opencv and can be accessed by downloading the opencv-python package.
  2. Numpy library is commonly used in python to make 2d arrays and matrices. This library is crucial in resizing the frame of the input and array making in the program.

NOTE: Each library is needed for the program to run and must be set as project interpreter. Python 3+ is needed.

Design of Algorithm

This program mainly uses python as the programming language with two additional Python libraries, OpenCV and Numpy.

OpenCV is a library of programming functions mainly aimed at real-time computer vision. Originally developed by Intel, it was later supported by Willow Garage then Itseez.

NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.

In this project, we firstly take a video input with openCV from the device’s webcam (if any) or any camera connected to the computer. The video will be broken down into frames that will be converted into Binary Large Object (BLOB) before the computer processes it further. Then, for each frame that has been converted into BLOB will be forwarded to MobileNet SSD as an input and will return some values like, Object name index, Detection confidence and X and Y location of the image in the frame. These values will act as the output of this program. The object name index will be displayed on the terminal console and on the frame (in real time) with its confidence next to it. The X and Y coordinates will be used to draw the bounding box of the image on the frame (in real time). A while loop will be inserted in the code to ensure the program repeats until a certain key is pressed.

Youtube link : https://youtu.be/8uchU5G1jJ4

Block Stacker

Introduction

This project is a tetris game with a concept of falling blocks. It is an interesting game to play and have focused on the logic as well as the outlook. This report describe how to train the user or the player to play tetris in an efficient manner by selecting the features.

It was a good choice for the experimental object for study, because the game is easy enough to grasp, reduce some stress to the user, and is relatively simple to modify in terms of changing difficulty settings, game speed, etc. This project also include an extended modular programming in the more complex ways. Not only the user able to develop the tetris game, but also that whoever wants to study the logic may prove this useful. The game is declared “game over” if the block has reached the top in the tetris game window.

Youtube link : https://youtu.be/kYoJpYTd_IU