Welcome to the July edition of Tech on Campus, a monthly newsletter that shines the spotlight on recent projects and experiments done by students of BITS Pilani.

These posts add value to the reader by being: informative, thought-provoking or providing opportunities for participation. You are encouraged to contact the authors of specific projects directly or use your GitHub account to comment below.


ROS-Project

Obstacle avoiding bot
Obstacle avoiding bot
This is a project based on path planning and control theory of robots. What this means is that I need to plan a path from the given start to goal points through a given environment using one of the path planning algorithms.

This project uses Gazebo and ROS to simulate an obstacle avoiding bot. Srujan-D has included instructions for running this project and excellent explanation of the algorithms and techniques he has used.

Srujan-D/ROS-Project
This is a project based on path planning and control theory of robots. - Srujan-D/ROS-Project
Github Project

Pathways

A sample screenshot of a pathway page
A sample screenshot of a pathway page

Pathways is an experiment that attempts to curate learning resources in a manner that more realistically resembles their inter-connected nature.

The internet is full of amazing and free resources of varying qualities. However there is no guide to decide which one is best or relevant for a particular skill level. Not free ones anyway. Pathways solves this by collecting the best tutorials into steps. Steps that form a comprehensive guide for learning any skill upto a desired level.

It is under serious development and aims to become the go to platform for a curated learning pathway for any topic. It's initial focus is on Computer Science topics from popular to niche. The repo Wiki page details how it is built on top of the shiny new GRAND stack, to fully utilize graph type data throughout the application stack.


Sokoban

Pretty sokoban gif
Pretty sokoban gif
Sokoban (倉庫番, sōko-ban, "warehouse keeper") is a puzzle video game in which the player pushes crates or boxes around in a warehouse, trying to get them to storage locations. Sokoban was created in 1981 by Hiroyuki Imabayashi.

It's a fun puzzle game implemented in Haskell, a language that emphasizes functional purity. At a high level the game works by processing an event loop that handles user input to make changes to the game state.

Reach out to 7vik to know more about programming in Haskell.

7vik/sokoban
An implementation of Sokoban (倉庫番, sōko-ban, “warehouse keeper”) in Haskell. - 7vik/sokoban
Sokoban repo

BITS-FAREWELL.TECH

Login page for farewell
Login page for farewell
This website is designed to act as a memory page of the college lives of graduating BITSians. People can write comments and see walls of their friends,

https://www.bits-farewell.tech/ is an attempt to re-imagine farewell for the graduating batch, amidst COVID times. It aims to be a minimal and person focused experience.

It has been built on top of Flask, a Python micro web framework. DESIGN.md documents the design and development process. While ARCHITECTURE.md talks about the architecture of the application and about solving common issues that crop up with Flask.


UI/UX case study: Sanskruti App

Screen from sanskruti app
A screen from the app - Sanskruti.co
Sanskruti.co strives to make classical Indian literature accessible to the masses. To begin with, we have created a well designed, simple app to read the holy text Srimad Bhagavad Gita.

Tapan is a design enthusiast and wants to create a premium reading experience for the Indian scriptures. He is writing a multi-part design/case study on his recently launched app. Read about his approach to app design, and product in general, in the first part of the series.


On JVM and optimization

JVM poster
The fast and the steady
The JVM is a beautifully architected and engineered workhorse that powers the numerous and versatile applications that run on Java. In this article, we have attempted to understand parts of its structure by tinkering with some configurable parameters.

Neel relates his experiments with JVM and explains how compilation parameters affect the runtime performance of Java code. Read about it in his blog post.


Radar

A sample login screen from Radar
A sample login screen from Radar

Radar project is trying to create an anonymous help finding app using Flutter framework. The framework emphasizes fast development and performance.

Radar aims at developing an app through which you could ask for help from nearby strangers, in an anonymous manner. The initial project is developed keeping in mind the setting of a typical University.

Radar project is open source and inviting contributions. Check out the contribution guidelines or the issues page.

bitsacm/Radar
Radar is a cross-platform mobile application built in Flutter. It is an app through which you could ask for help from nearby strangers, in an anonymous manner if needed. The initial project is deve...

Bluff

Screenshot from step 0 deployed to Heroku
Screenshot from step 0 deployed to Heroku

Bluff is an educational project aimed at getting beginners to participate in open source projects. It has a low barrier of entry and mentors to help with getting started.

This project aims at creating an online multiplayer game of Bluff. We will be using Vanilla JS for the frontend and Node JS along with express for the backend.

It is organized into steps that can be followed to build the game part by part. Check out the repo and the very informative README at the repo link given below.

bitsacm/bluff
Open for all, learn as you contribute project for building an online multiplayer game of Bluff maintained by BITS ACM. - bitsacm/bluff

If you've reached here, you probably enjoy discussing computers, tinkering with technology and building cool stuff. You can join us at BITS Silica, a fun Slack workspace that will surely appeal to you. (Note: you need a valid BITS email id to join).

The contents of this post have been curated by humans and humans are  fallible. If you find any errata or interesting projects we have missed out, please leave a comment below