Skip to content

Latest commit

 

History

History
159 lines (74 loc) · 5.88 KB

README.md

File metadata and controls

159 lines (74 loc) · 5.88 KB

CSOC Week1 Android

Introduction

The most apt definition for android is - "Android is a mobile operating system based on a modified version of the Linux kernel and other open-source software, designed primarily for touchscreen mobile devices such as smartphones and tablets." In short, we can say that it is an Operating system for touchscreen devices, and any device that runs on this Operating System is known as an Android Device. Now for every operating system, some applications can run on it to perform specific tasks. Similarly, for Android Devices, we have Android Apps that can run on them to perform specific tasks.

Evident enough that the software engineering field for developing such apps is known as Android App Development. The official language for Android development is Kotlin, but Java is still used in many famous courses and many projects, so you are free to use any of them.

Installation

Android Studio

Android Studio is the official Integrated Development Environment (IDE) for Android app development. This software is a bit heavy on normal systems (8 GB Ram & 1 TB HDD) and can be quite laggy for any systems below this configuration.

While developing an android app you will need to test it on a device. You can test it in two ways -

  • Real Device (Preferred for slower systems) For testing you apps on a real device you will need to have a USB cable and an Android device. Follow this tutorial to enable USB debugging in order to run your app in the device.

  • Emulator An Android Emulator simulates Android devices on your computer so that you can test your application on a variety of devices and Android API levels without needing to have each physical device. It provides almost all of the capabilities of a real Android device.

How to get started

If you haven't had any chance to develop android apps earlier then don't worry it's not too late to start now. Here are few resources to start with android development.

Challenge

As an aspiring developer, you'd need to keep building things to keep your knowledge on tips. Now that you are good to go with the basics of native Android Development, we want you to build one of the apps from the following list on your own.

  1. Calculator app
  2. Hangman game

Note : You have to choose one of them.

The task that we'll be working over is to build a HANGMAN game, It is a simple word guessing game. The player tries to figure out an unknown word by guessing letters. If too many letters which do not appear in the word are guessed, the player is hanged (and loses).

Tasks

  • Task 1: Implement a hangman game. Create a word generator and generate random words in every game.

  • Task 2: Add a high score page to view the previous scores.

  • Task 3: Giving hints to users, by showing a few letters when the user needs them. Also, you could give signs when the entered letters are wrong.

  • Task 4: Make hard and easy mode with say, 5 lives in easy and 3 in hard mode. Also, word length and difficulty could be changed with respective levels. Easy words could have till 5 letters while difficult ones with longer words.

  • Extras: Adding a timer for making it more interactive and competitive.

The objective is that you need to build a Calculator which will perform at least our basic mathematical operations.

Tasks

  • Task 1: Create a simple calculator with basic mathematical operations.

  • Task 2: Add complex operations including exponentiation, logarithms, trigonometry, etc.

  • Task 3: Add an option to change settings, say from radians to degrees and vice versa, and an option to change the theme of the app.

  • Task 4: Feature to show a history of previous calculations.

  • Extras: Add feature for matrix calculations and plotting of simple basic graphs using equations.

You have to provide your Repo and APK File as part of submission

Points

Here is the breakdown of the points related to each task

Task Points
Task 1 30
Task 2 30
Task 3 30
Task 4 30
Bonus 20
Total 140

Judging

The evaluation would be done mainly on the following basis:

  1. User Interface and User Experience
  2. Authenticity and readability of the code
  3. Completion of mentioned tasks
  4. Bonus Points for implementing extra features depending on your creativity😉

Remember, the deadline for this week's task is June 18th, 2023, 23:59.

Submission Guidelines :

Submission has to be done by sharing your github repo link and the .apk file of your application

  • Fork and then Clone your repository
  • Make a new entry into submissions (Link of your repositor and .apk of the app) as in the comments
  • Commit and Push the changes
  • Make a Pull request

Submissions