Skip to content

mapozh/swen

 
 

Repository files navigation

Software Engineering - From REPL to SYSTEM

Readings and Resources:

Agenda

  • 20-30min | Brief theoretical input on basic topics of automation and computation.
  • 60-90min | Practical Exercises and Coding Examples with Python
  • 60-90min | Review and joint development of selected Homework Exercises

Deliverables (ungraded)

For each session there are a set of exercises listed here on GitHub Classroom: https://classroom.github.com/classrooms/98897122-22s_swen

We will do the first batch of exercises for Session 1 together. From Sesssion 2 onwards you are encouraged to prepare all exercises associated to a certrain session. I will provide feedback and guidance on the side. For each session, I will pick some difficult or important exercises and discuss solutions with the class.

Exam (graded)

The Exam will be written and online. It will ask about theory and require you to work on several coding exercise.

Sessions

1 - The Urge to Compute and Automate

Theory: How do we compute and automate and why?

  • What would you like to automate?

  • What do you think about DAOs?

    The ideal of a decentralized autonomous organization is easy to describe: it is an entity that lives on the internet and exists autonomously, but also heavily relies on hiring individuals to perform certain tasks that the automaton itself cannot do.

    • Vitalik Buterin, Ethereum Foundation

Further Reading:

Practice:

Exercises:

2 - The Shoulders of Turtles

Theory: What are the layers of abstraction by creating different Versions of Hello World in Assembler, C, Python | Chapter 1, p. 1-28, Chapter 2, p.29-38

Building Blocks/Layers of Programming Languages:

Further Reading:

Practice:

Python Built-in Data Types | Chapter 2, pp. 37-82

Exercises

3 - Basic Elements of Programming Languages

Theory: Algorithm and Data Structure | Chapter 3, pp. 53-81

Practice: Conditionals and Iteration | Chapter 3, pp. 83-114

Exercises

4 - Programming Paradigms and Functional Programming

5 - Clean Code

6 - Understanding Data Bindings: OOP and FP

  • Theory: Functions, data, classes and objects

  • Practice: OOP, Decorators, and Classes - Chapter 6, pp.195-238

Additional Material:

7 - Error Handling, Exceptions and Context

8 - Operating Systems

9 - Mid-Term Exercise Review and Q&A

  • Theory: NONE

  • Practice: Collective Session on current issues and status of learning

10 - Testing

11 - Debugging and Profiling

12 - Computer Networks: Servers and Clients

13 - Computer Networks: Data Exchange

  • Theory: NONE

  • Practice: Data Science in Brief | [Chapter 13 ]

14 - Computer Networks: Authentication and APIs

15 - Final Exercise Review and Prep

  • Theory: NONE

  • Practice: Collective Session on current issues and status of learning

Additional Material

Advanced Python: https://ebookcentral.proquest.com/lib/th-deggendorf/reader.action?docID=5353672 Data Science: https://ebookcentral.proquest.com/lib/th-deggendorf/reader.action?docID=6739165

A - Computer Security

Theory: Practice: - Cryptography and Tokes | Chapter 9, pp. 295-314

B - Cloud Computing

C - Machine Learning

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.0%
  • Other 1.0%