All Projects → Make-School-Courses → BEW-2.5-Strongly-Typed-Languages

Make-School-Courses / BEW-2.5-Strongly-Typed-Languages

Licence: MIT license
💪 Learn and implement the design patterns and best practices that make Go a top choice at high-velocity startups like Lyft, Heroku, Docker, Medium, and more!

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to BEW-2.5-Strongly-Typed-Languages

pygolang
Go-like features for Python and Cython. (mirror of https://lab.nexedi.com/kirr/pygolang)
Stars: ✭ 37 (+164.29%)
Mutual labels:  concurrency, goroutines
golang-101
🍺 In-depth internals, my personal notes, example codes and projects. Includes - Thousands of codes, OOP, Concurrency, Parallelism, Goroutines, Mutexes & Wait Groups, Testing in Go, Go tool chain, Backend web development, Some projects including Log file parser using bufio.Scanner, Spam Masker, Retro led clock, Console animations, Dictionary pro…
Stars: ✭ 61 (+335.71%)
Mutual labels:  concurrency, goroutines
linkbucket-go
This project has been moved permanently to: https://fossil.avalos.me/linkbucket-go
Stars: ✭ 16 (+14.29%)
Mutual labels:  gorm, echo-framework
Golang Gin Realworld Example App
Exemplary real world application built with Golang + Gin
Stars: ✭ 1,780 (+12614.29%)
Mutual labels:  best-practices, gorm
Maratona Bots
Maratona Bots é um curso de capacitação para desenvolvimento de Bots, utilizando APIs e outros serviços de Inteligência Artificial, feito pela comunidade em parceria com a Microsoft.
Stars: ✭ 198 (+1314.29%)
Mutual labels:  bots
Eddi
Scalable Open Source Chatbot Platform. Build multiple Chatbots with NLP, Behavior Rules, API Connector, Templating. Developed in Java, provided with Docker, orchestrated with Kubernetes or Openshift.
Stars: ✭ 171 (+1121.43%)
Mutual labels:  bots
Nginx Ultimate Bad Bot Blocker
Nginx Block Bad Bots, Spam Referrer Blocker, Vulnerability Scanners, User-Agents, Malware, Adware, Ransomware, Malicious Sites, with anti-DDOS, Wordpress Theme Detector Blocking and Fail2Ban Jail for Repeat Offenders
Stars: ✭ 2,351 (+16692.86%)
Mutual labels:  bots
Postagga
A Library to parse natural language in pure Clojure and ClojureScript
Stars: ✭ 152 (+985.71%)
Mutual labels:  bots
LearningResources
A centralised hub for learner around the globe from A-Z. You can find collections of manuals, blogs, hacks, one liners, courses, other free learning-resources and more
Stars: ✭ 63 (+350%)
Mutual labels:  best-practices
Awesome Bots
The most awesome list about bots ⭐️🤖
Stars: ✭ 2,864 (+20357.14%)
Mutual labels:  bots
Botbuilder Microsoftteams
Microsoft Bot Builder extension library for developing bots for Microsoft Teams
Stars: ✭ 192 (+1271.43%)
Mutual labels:  bots
Telegrambotslist
A list of all Telegram bots source hosted on github.
Stars: ✭ 172 (+1128.57%)
Mutual labels:  bots
Rasa core
Rasa Core is now part of the Rasa repo: An open source machine learning framework to automate text-and voice-based conversations
Stars: ✭ 2,302 (+16342.86%)
Mutual labels:  bots
Slack Starterbot
Python-powered simple starter Slack bot.
Stars: ✭ 169 (+1107.14%)
Mutual labels:  bots
Chatbot
Python ChatBot 💬
Stars: ✭ 250 (+1685.71%)
Mutual labels:  bots
Java Telegram Bot Tutorial
Java Telegram Bot Tutorial. Feel free to submit issue if you found a mistake.
Stars: ✭ 165 (+1078.57%)
Mutual labels:  bots
Delbot
It understands your voice commands, searches news and knowledge sources, and summarizes and reads out content to you.
Stars: ✭ 191 (+1264.29%)
Mutual labels:  bots
Rasatalk
A chatbot framework for Rasa NLU
Stars: ✭ 225 (+1507.14%)
Mutual labels:  bots
Rubotnik
"Bot-end" Ruby framework to quickly build and launch a Facebook Messenger chatbot
Stars: ✭ 191 (+1264.29%)
Mutual labels:  bots
Awesome Discord
🕹 A curated list of awesome things on Discord.
Stars: ✭ 180 (+1185.71%)
Mutual labels:  bots

gophers

BEW 2.5: Patterns & Practices in Strongly Typed Languages

Table of Contents

  1. Course Description
  2. Prerequisites
  3. Course Specifics
  4. Learning Objectives
  5. Schedule
  6. Course Deliverables
  7. Late Assignment Policy
  8. Evaluation
  9. Additional Resources
  10. Information Resources
  11. Make School Course Policies

Course Description

In this course, students discover the value of strongly typed languages in server-side architectures, and dive deep into performant, concurrent programming paradigms present in Go. In studying Go, which is known for its ability to blend the expressive features of dynamic languages (Python, JavaScript) with the performance capabilities of compiled languages (C, C++), students will gain the syntactic diversity required in today's large-scale platform engineering pursuits. Throughout the course, students will learn and implement the design patterns and best practices that make Go a top choice at high-velocity startups like Lyft, Heroku, Docker, and Medium.

Prerequisites

Course Specifics

Course Delivery: online | 7 weeks | 19 sessions

Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Learning Objectives

  1. Design and implement command line interfaces, APIs, and bots in Go.
  2. Identify and describe the architectures wherein the features of Golang could be best utilized.
  3. Build data structures that support unmarshalling JSON retrieved from third-party APIs.
  4. Apply Object Relational Mapping techniques to persist data to relational databases in Go.
  5. Gain experience deploying APIs and bots to production.

Schedule

Course Dates: Monday, May 31 through Friday, July 16, 2021 (7 weeks)
Class Times: Monday, Wednesday, Friday at 2:15pm - 4:00pm PST (19 class sessions)

Class Date Topics
- Mon, May 31 No Class - Memorial Day
01 Wed, June 2 🆕 Welcome to Class / Static Languages
02 Fri, June 4 Intro to Go / Tutorial Launch
03 Mon, June 7 Drill Day
04 Wed, June 9 Static Site Generators
05 Fri, June 11 Files & Directories
06 Mon, June 14 🆕 Working with Modules
07 Wed, June 16 Fast Functionality via 3rd Party Libraries
08 Fri, June 18 🔬 Lab: SSG Project
09 Mon, June 21 Scraping the Web
10 Wed, June 23 Scraping the Web
11 Fri, June 25 Working With JSON
12 Mon, June 28 🆕 Pointers
13 Wed, June 30 Concurrency & Goroutines
14 Fri, July 2 Project Kickoff presented by @OmarSagoo
🔬 Lab: MakeScraper / MakeUtility (get unblocked by the TA!)
- Mon, July 5 No Class - Independence Day
15 Wed, July 7 TBD
16 Fri, July 9 Delve into Debugging
17 Mon, July 12 Benchmarking & Testing
18 Wed, July 14 Documentation & Deployments
19 Fri, July 16 Final Presentations

Course Deliverables

We will be using Gradescope this term, which allows us to provide fast and accurate feedback on your work. All assigned work will be submitted through Gradescope, and assignment and exam grades will be returned through Gradescope. As soon as grades are posted, you will be notified immediately so that you can log in and see your feedback. You may also submit regrade requests if you feel we have made a mistake.

Your Gradescope login is your Make School email, and your password can be changed at https://gradescope.com/reset_password. The same link can be used if you need to set your password for the first time.

Assignments must be submitted to Gradescope by 11:59PM PST on the date due.

📚 Assignment 🔗 Criteria 📆 Due Date
Tour of Go Done in Class June 7, 2021 (Monday)
Static Site Generator MVP
v1.1 / v1.2
MVP: June 18, 2021 (Monday)
v1.1 / v1.2: June 21, 2021 (Friday)
Web Scraper Requirements July 7, 2021 (Tuesday)
Blog Post Rubric July 16, 2021 (Friday)
MakeUtility Project
& Presentation
Requirements July 16, 2021 (Friday)

Late Assignment Policy

  • Late assignments that are submitted more than 5 days (120 hours) after the deadline will be given a 25% late penalty.
  • The absolute last day to submit any assignment will be Friday, July 16 at 11:59 PM.

If you require accommodations or have extenuating circumstances such as prolonged illness, please contact your instructor to request an extension.

Evaluation

To pass this course you must meet the following requirements:

  • Complete the tutorial, deliverables, final project, and final presentation as assigned in class and described in the sections below.
  • Actively participate in class and abide by the attendance policy.
  • Make up all classwork from all absences.

Tutorial

Complete the tutorial assigned in class; assessed via graded warmup during week two.

Blog Post

Demonstrate confidence writing and speaking about Go topics by writing a 500+ blog post on a language feature of your choice.

Your blog post must be accessible to the general public to earn credit; do not submit draft posts.

Your grade will be determined via the Make School Blog Post Rubric. You must earn a score of 2.5 or higher to pass.

Final Project

Complete the final project according to the associated project rubric.

Final Presentation

The delivery of a live or pre-recorded presentation is required to pass this course. Presentations will be delivered on our final day of class.

Your three to five minute presentation should focus on the experience you gained and lessons you learned while implementing one of the three Challenges in this course.

Your final presentation will be evaluated based on the Make School Presentation Rubric. You must earn an average of 2.5 on the rubric to pass.

Additional Resources

Update to Latest Version of Go

New version of Go released? No problem! Run the following command to install the latest version of Golang on your Mac or Linux system:

git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh

Links

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Make School Course Policies

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].