SWS121: Secure Programming, 2024 Spring

Course Information

Course Materials

Installation of Scala and sbt

Scala is a general-purpose programming language combining object-oriented and functional programming in one concise, high-level language. Scala’s static types help avoid bugs in complex applications, and its JVM and JavaScript runtimes let you build high-performance systems with easy access to huge ecosystems of libraries.

The interactive build tool sbt is built for Scala and Java projects.

Please download and install them using the following links:

Schedule

# Date Title PDF
(handout)
Homework
0 03/04 Introduction
1 03/11 Basics
2 03/18 Testing and Documentation ex01
3 03/25 Classes, Traits, and Objects
4 04/01 Functional Programming hw01
(due: 04/15)
5 04/08 Immutable Collections
6 04/15 For Comprehensions
7 04/29 Lazy Evaluation
8 05/06 Generics hw02
(due: 05/20)
9 05/13 Advanced Types
10 05/20 Contextual Abstraction
11 05/27 Metaprogramming
12 06/03 Concurrent Programming hw03
(due: 06/17)
13 06/10 Course Review