2020 Workshop Series

Enter the realm of cyber-defenders by taking on a hands-on approach to cybersecurity, or learn how to use SQLite/NoSQL/HTML/CSS/Flask to enrich your web/mobile applications! If you are looking to refresh your programming knowledge/thinking, do drop by the Intro to Python Workshop! Aspiring game developers, you’ll be glad to know that Intro to Unity Workshop awaits you while those eager to enhance your project workflow should partake in the Intro to Git session. Do look at the various workshops below!


BuildingBloCS Youtube
Video Links will be updated after the workshops, so stay tuned!

Introduction to Python🐍 (Completed)
By the end of the workshop, participants would learn
  • The basics of python
  • If statements, lists, loops
  • Create some simple programs (e.g. mark to grade converter/calculator)


Prerequisites: Nothing much other than a desire to learn!

View Video



Introduction to Web Development 🌐 (Completed)

Learning to build a efficient web application quickly is increasingly important. This workshop (and more) will equip you with the skills and tools to build your own web application. Here are some of the tools you will learn!

Timing for 17 May: 1400-1600

Flask is used as a web-framework. This will form the basis for the web-application.

Participants will also learn about the basics of HTML (Markup Language for the Web) and CSS (Casacading Style Sheets for nice designs), along with other frameworks to improve their website's user interface and experience.

SQL forms an important part in our applications, by helping to store a variety of user data!
Participants will explore the concepts of: - normalized databases - simple sql queries - various sql technologies and their pros and cons

Prerequisites: Basic Knowledge of Python (Intro to Python Workshop)

View Video of Part 1



Introduction to Javascript 🏃‍♀️ (Completed)
JavaScript is an extremely popular programming language used primarily by Web browsers to create a dynamic and interactive experience for the user. Most of the functions and applications that make the Internet indispensable to modern life are coded in some form of JavaScript.

At the end of the course, participants will be able to create a simple discord bot that tells you the time using nodejs

View Video



Introduction to NoSQL 🗃 (Completed)
Timing: 1700-1900

After learning SQL, why not learn NoSQL? NoSQL databases (aka "not only SQL") are non tabular, and store data differently than relational tables (aka SQL).
NoSQL databases come in a variety of types based on their data model. The main types are document, key-value, wide-column, and graph. They provide flexible schemas and scale easily with large amounts of data and high user loads.

Prerequisites: Basic Knowledge of Python (Intro to Python Workshop), Github account

View Video



Introduction to Cybersecurity 💻 (Completed)
Timing: 1000-1200

Cyberattacks are increasingly becoming more common, while our reliance on digital systems has increased significantly. A sound understanding of cybersecurity principles would thus go a long way in helping to ensure one stays cyber secure.
In this course, we will be embarking on a Capture-the-Flag style competition where participants will go through some Basic Web/ Forensics/ Cryptography Concepts.

Prerequisites: Basic Knowledge of Python would be helpful (Intro to Python Workshop)

View Video



Introduction to Open Computer Vision with Python 📷 (Completed)
EdgeDunmanHigh
Part 1 (Timing: 1000-1200)
Open CV is a powerful library used to analyse images and videos! Equip youselves with the knowledge about the various Open CV features. In Part 1, we will be introducing the fundamentals of opencv, starting with Trackbars and Histograms (both static and video analysis)

Part 2 (Timing: 1000-1200)
In Part 2, We will be learning how to make use of the slider trackbars to isolate certain colors of an image. We will also explore the math behind Canny Edge Detection. Participants will also get to embark on a future project!

Prerequisites: Basic Knowledge of Python (Intro to Python Workshop)

View Video of Part 1
View Video of Part 2



Introduction to Git 🌲 (Completed)
Timing: 1500-1630

Open source development is increasingly prevalent in software development, powering many devices that we use daily. Originally developed for the managing the Linux Operating System, Git is an extremely powerful tool for managing computing projects.

Participants will learn what Git is and how it is different from GitHub, what programmers can use Git for, learn to perform basic operations (commit, pull etc) using a Git GUI Client, perform simple collaborative operations (merge, forking) and understand the use of pull requests in working on public open source projects

Prerequisites: A little knowledge of terminal/Command Prompt commands would be helpful but not essential

View Video



Introduction to Unity 🎮(Completed)
Timing: 1000-1200

Participants will be introduced to the the Game Loop, 2D Space, Collision detection, and make a simple game involving moving the player character.

Prerequisites: Knowledge of C# programming would be useful, but not required. As for programming knowledge, its mainly going to be variables:

  
Vector3 direction = new Vector3(1,1,1);
  
and if else statements:
  
if (Input.GetButtonDown('Jump')){
  transform.translate(direction);
}
  


View Video



Past Python Workshops

AI cum CTF cum Google-Code In

We had our very first BuildingBloCS workshop on 14 January 2020. It taught ‘O’-Level computing students about Artificial Intelligence, Capture The Flag, and promoted Google Code-In 2019. The participants had a lot of fun with the workshop and potentially made new friends with each other!

Photos

Circuit Programming with Adafruit Circuit Playground Express

Over the March school holidays, a group of BuildingBloCS students/alumni from DHS and JPJC came together online to produce a series of Python workshops, and we would like to share them with you and the community. You may view the videos that have been uploaded on Youtube.

Photos

The Python workshops covers a large proportion of many of the applications in H2 Computing, as well as many of its real-world applications. You will be led through a series of lecture slides and have a chance to perform some hands-on activities. We hope that these will entice you further to pursue computing in your future. :)

Some of these workshops have also been conducted at FOSSASIA’s Summit at Paya Lebar’s Lifelong Learning Institute.

Web Development with Flask

Also a FOSSASIA Workshop

Flask is a micro web framework written in Python. This means flask provides one with tools, libraries and technologies that allow you to build a web application. This workshop will introduce you to the basic syntax of flask as well as to build your own website!

Cybersecurity with Python

Also a FOSSASIA Workshop

Cybersecurity is the practice of protecting systems, networks, and programs from digital attacks. These cyberattacks are usually aimed at accessing, changing, or destroying sensitive information; extorting money from users; or interrupting normal business processes. Participants equip themselves with the basic skills of cybersecurity and tap on useful libraries that bring them through several hands-on activties such as port scanning.

Introduction to Socket Programming in Python

Also a FOSSASIA Workshop

Socket programming is a way of connecting two nodes on a network to communicate with each other. This course will bring participants through the know-hows of socket programming in Python, as well as to set up a client-server architecture to run through several hands-on activities such as building a chat system and a RPG.

Introduction to SQLite3 in Python

Also a FOSSASIA Workshop

Participants will learn about relational databases through SQLite, a self-contained, serverless, zero-configuration, transactional SQL database engine which is the most widely deployed database in the world. Both single and multi-table (with normalization) scenarios will be covered. Participants will connect to SQLite using the Python sqlite3 standard library module to perform common operations. The course also brings participants through a hands-on activity to build a database.

Circuit Python Workshop

We organised a workshop about Circuit Programming with Python using the Adafruit Circuit Playground Express. Participants range from complete beginners to having some experience in Python. In the workshop, participants learned beyond basic python, and had fun playing around with the circuit playground they received, and expanded on their creativity to utilise what they can do with the Adafruit Circuit Playground Express.

Introduction to Python

Python is a widely-popular and general-purpose language used by many developers. Learning a programming language has immeasurable advantages: Participants not only expose themselves to the art of computational thinking, the course will serve as a stepping stone for them to be equipped with the basics of Python so that they are able to embark on projects that can save the world (and automate their life ;)) Particularly, it is also the main language that will be used for ‘O’ and ‘A’-Level Computing!

Introduction to MongoDB with Python

Participants will learn about MongoDB, a cross platform document-oriented NoSQL database system. They will connect to MongoDB using the PyMongo API to perform common operations. In fact, the course will also expose you to the commonalities of databases in our daily lives and bring you through a scenario of setting up a database for a Convenience Store.