Difference between revisions of "BITL-CS1"

From DiLab
Jump to: navigation, search
(Introduction to Computer Science 1)
(Calendar)
Line 210: Line 210:
|
|
==== 21.10.19 ====
==== 21.10.19 ====
|
| style='background-color:#ffcccc;' |
'''--- Midterm break ---'''
'''Parsing data (csv, PY)'''
* [https://www.dropbox.com/s/j0hr3yj7x02yup9/L19_file_reading_2.pdf?dl=0 Slides]
|
|


Line 217: Line 218:
|
|
==== 22.10.19 ====
==== 22.10.19 ====
| style='background-color:#ffcccc;' |
'''--- Midterm break ---'''
|
|
'''File writing (PY)'''
* [https://www.dropbox.com/s/slk0zw4pa01t9kj/L20_file_writing.pdf?dl=0 Slides]
|
* Project 1 announced


|-
|-
|
|
==== 24.10.19 ====
==== 24.10.19 ====
|
| style='background-color:#ffcccc;' |
'''--- Midterm break ---'''
'''Q & A session'''
|
|


Line 232: Line 235:
==== 28.10.19 ====
==== 28.10.19 ====
|
|
'''Parsing data (csv, PY)'''
'''HTML and Javascript'''
* [https://www.dropbox.com/s/j0hr3yj7x02yup9/L19_file_reading_2.pdf?dl=0 Slides]
|
|


Line 240: Line 242:
==== 29.10.19 ====
==== 29.10.19 ====
|
|
'''File writing (PY)'''
'''URIs and network connections'''
* [https://www.dropbox.com/s/slk0zw4pa01t9kj/L20_file_writing.pdf?dl=0 Slides]
|
|
* Project 1 announced


|-
|-
Line 249: Line 249:
==== 31.10.19 ====
==== 31.10.19 ====
|
|
'''HTML and Javascript'''
'''A web server (PY)'''
|
|
* '''Lab exam 02'''


|-
|-
Line 256: Line 257:
==== 04.11.19 ====
==== 04.11.19 ====
|
|
'''Midterm review'''
'''URIs and network connections'''
|
|


Line 263: Line 264:
==== 05.11.19 ====
==== 05.11.19 ====
|
|
'''A web server (PY)'''
'''Midterm'''
|
|
* '''Lab exam 02'''
* '''Midterm Exam'''


|-
|-
Line 271: Line 272:
==== 07.11.19 ====
==== 07.11.19 ====
|
|
'''JSON intro'''
''''''
|
|


Line 278: Line 279:
==== 11.11.19 ====
==== 11.11.19 ====
|
|
'''Python JSON data'''
'''JSON intro'''
|
|


Line 285: Line 286:
==== 12.11.19 ====
==== 12.11.19 ====
|
|
'''Midterm review'''
'''Python JSON data'''
|
|


Line 292: Line 293:
==== 14.11.19 ====
==== 14.11.19 ====
|
|
'''Chat review, AJAX, GET/POST'''
'''Midterm'''
|
|
* '''Midterm Exam'''
* '''Lab Exam 03'''


|-
|-
Line 307: Line 308:
==== 19.11.19 ====
==== 19.11.19 ====
|
|
'''Chat review, AJAX, GET/POST'''
'''GET vs POST, HTTP vs HTTPS'''
|
|


Line 314: Line 315:
==== 21.11.19 ====
==== 21.11.19 ====
|
|
'''Midterm return'''
'''GET vs POST, HTTP vs HTTPS'''
|
|


Line 321: Line 322:
==== 25.11.19 ====
==== 25.11.19 ====
|
|
'''Midterm return'''
'''Algorithms (theory)'''
|
|
* Project 1 due
* '''Lab Exam 03'''
* Project 2 announced


|-
|-
Line 329: Line 331:
==== 26.11.19 ====
==== 26.11.19 ====
|
|
'''Algorithms (theory)'''
'''Algorithms (practice)'''
|
|
* '''Lab Exam 04'''


|-
|-
Line 336: Line 339:
==== 28.11.19 ====
==== 28.11.19 ====
|
|
'''Algorithms (practice)'''
''''''
|
|
* Project 1 due
* Project 2 announced


|-
|-
Line 354: Line 355:
'''Encryption and Hashing'''
'''Encryption and Hashing'''
|
|
* '''Lab Exam 04'''


|-
|-
Line 389: Line 389:
==== 16.12.19 ====
==== 16.12.19 ====
| style='background-color:#ffcccc;' |
| style='background-color:#ffcccc;' |
'''--- EXAM week ---'''
'''--- EXAM week starts ---'''
|
|


Line 396: Line 396:
==== 17.12.19 ====
==== 17.12.19 ====
|
|
Final exam
'''Final exam'''
|
|
* '''Final Exam'''
* '''Final Exam'''

Revision as of 11:34, 21 October 2019

Introduction to Computer Science 1

Shortcuts: Calendar | Assignments | Resources | Today (if there is a class)

Introduction

What is Computer Science?

Computer Science is the study of processes that interact with data and that can be represented as data in the form of programs. It enables the use of algorithms to manipulate, store, and communicate digital information.

Administrative information

Course Syllabus is available here

Communication:

  • via slack: workspace name: bitl-cs1-2019
  • via email: use instructor's email address for personal communication
  • office hours: by appt.

Calendar

Date Topic Exercises

09.09.19

Course overview

Introduction to the course. Syllabus. What is computer science. Branches of computer science. Binary encoding. Abstraction. Data. Algorithms. Search using linear, skip and binary approach. Correctness and complexity of an algorithm.

Write a pseudo code for binary search algorithm, in the context of a dictionary or a phone book.

10.09.19

Expressions

Algorithms revisited. iterative v.s. recursive algorithm, binary search example in both versions. Life cycle of program development. Source code. Compiler v.s. interpreter. Integrated development environment. Python programming language. Python version 3 vs version 2. Expressions, evaluation of expressions. Operators and their precedence.

  • Explore the online IDE: repl.it.
  • Read about Anaconda environment.


12.09.19

Variables and assignment

Python: variables. Statements. Assignment. Data types.

Find out why 123_456 is a valid expression in Python, and what does it mean.

16.09.19

Functions (calling)

Python: functions. Purpose and uses. Calling functions. Libraries, ""import math"" statement.

Practice writing functions:

  • A sum of two numbers
  • A greeter function with the name as a parameter
  • A signature (-1,0,+1) function

17.09.19

Functions (defining)

Python: functions. Defining functions. Function body. The use of indentation in Python.

19.09.19

Relational and boolean expressions

Boolean and comparison operators.

23.09.19

Control flow (conditionals)

Control flow: if / if-else / if-elif-else.

  • Lab Assignment 1

24.09.19

Control flow in functions

26.09.19

Javascript 1

30.09.19

Javascript 2

01.10.19

Javascript 3

  • Lab exam 01

03.10.19

Arrays and for loop

07.10.19

Range (PY) and for..in (JS)

08.10.19

Lists (PY)

10.10.19

Dictionaries intro (PY)

14.10.19

Dictionaries continued (JS) 1

15.10.19

Dictionaries continued (JS) 2

17.10.19

File reading (PY)

21.10.19

Parsing data (csv, PY)

22.10.19

File writing (PY)

  • Project 1 announced

24.10.19

Q & A session

28.10.19

HTML and Javascript

29.10.19

URIs and network connections

31.10.19

A web server (PY)

  • Lab exam 02

04.11.19

Midterm review

05.11.19

Midterm

  • Midterm Exam

07.11.19

'

11.11.19

JSON intro

12.11.19

Python JSON data

14.11.19

Chat review, AJAX, GET/POST

  • Lab Exam 03

18.11.19

--- National holiday ---

19.11.19

GET vs POST, HTTP vs HTTPS

21.11.19

Midterm return

25.11.19

Algorithms (theory)

  • Project 1 due
  • Project 2 announced

26.11.19

Algorithms (practice)

  • Lab Exam 04

28.11.19

'

02.12.19

Risks

03.12.19

Encryption and Hashing

05.12.19

Adding encryption

09.12.19

Adding authentication

10.12.19

Deploying the app

12.12.19

Final review

  • Project 2 due

16.12.19

--- EXAM week starts ---

17.12.19

Final exam

  • Final Exam

Assignments

Resources