Skip to content

Latest commit

 

History

History
126 lines (98 loc) · 3.33 KB

README.md

File metadata and controls

126 lines (98 loc) · 3.33 KB

Scala_02_2021

Scala Bootcamp She Goes Tech starting February 2021

https://shegoestech.lv/

Scala Course Syllabus for Part 1. - 80h

Day 1 (3h)

SheGoesTech Overview (1h)

  • Intro to project SheGoesTech & in current specialty (nuances of the profession)
  • Accenture presentation with project insights, statistics & goals
  • Profession description together with teachers introduction (teacher's experience, working enviroment, experience sharing) - change, automating the boring stuff

Intro to IT and programming (1h)

  • How computers work - the big picture - computer is stupid - it only does what it is told
  • Programming
  • Abstractions
  • Websites and Servers

Introduction to OS, processes, enviroment variables (1h)

  • Setting Up Local Machines
  • Command Line
  • Communication Tools(WhatsApp, etc)

Day 2 (3h) Programming - first steps

Intro to Git (1h)

  • Push / Pull
  • Workflow

Programming Scala First steps (2h)

  • "Hello World"
  • Basic Structure of Scala Program
  • Expressions in Scala (vs Statements which are rare)
  • Code Blocks (Curly Braces, changes in Dotty)

Day 3 (3h) - Data and Variables

  • Standard Data Types in Scala (primitives in other languages)
  • Data Representation
  • Literals
  • Shortcut notations
  • Maximum/Minimum Values of Primitive Number Types
  • Casting
  • Declaration, assignment, initializing declaration

Day 4 (3h) Mathematics & Logic

  • Defining principles
  • Math operators
  • Scala Floating Point Math
  • Using Math class

Scala Functions

  • Divide and conquer principle

Day 5 (3h) Branching - if \ else

Logical operators
Sequential Flow Control
Conditional Flow Control
Nested-if

Day 6 (3h) Branching - practical assignment

  • Nested-if vs. Sequential-if
  • Branching - Pattern Matching + practical assignment
    • Pattern Matching
    • Use Pattern Matching Case or If-Else

Day 7 Scala Arrays and Sequences (theory)

  • Creating and initializing an array
  • Array Index and Array's length
  • Using an array
  • Two dimensional array

Day 8 Looping cycles (theory)

  • Using loops while, for loop, forEach and do while with arrays.

Day 9 Loops and Sequences - sorting

  • Different ways of sorting

Day 10 Strings

  • String operations
  • Regex - short introduction
  • Calendar, Data

Day 11 Strings - File IO

  • Opening Files
  • Reading Contents
  • Writing Files
  • Closing Files

Day 12 Strings - Practical Assignment

Day 13 - Introduction to Object Oriented Programming - OOP

Day 14 - OOP continued

  • modules
  • namespaces

Day 15 - OOP in practice

Day 16 - Scala Collections - theory

Data structures List, Queue, Set

Day 17 - Scala Collections - theory

HashMap, HashTable, TreeMap

Day 18 - Scala Collections - practical assingments

Simple algorithm - search, sort. Work with loops (For loop, ForEach)

Day 19 Intro in DB

  • Scala and database
  • Setup local database server - install SQLite (serverless)
  • JDBC
  • DataBase Tools - DBeaver, DB online viewers
  • Setting up the environment - installing SQLite, relational databases theory, connection string formation

Day 20 Intro in SQL

  • "SQL basics - creating databases and database tables, updating tables, dropping tables "
  • "Basic SQL commands - select, where and wildcards
  • ORDER BY and GROUP BY commands"

Day 21 Joining multiple database tables

  • Intermediate SQL - subqueries
  • transactions (ACID principles), views, indexes and constraints"