Difference between revisions of "BITL-CS1"
(→Administrative information) |
(→Calendar) |
||
Line 36: | Line 36: | ||
|- |
|- |
||
| |
| |
||
==== 09.09. |
==== 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. |
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. |
||
* [https://www.dropbox.com/s/p2p5mfwgxmt6ebs/L01_introduction_to_CS.pdf? |
* [https://www.dropbox.com/s/p2p5mfwgxmt6ebs/L01_introduction_to_CS.pdf?dl=0 Slides] |
||
| |
| |
||
Write a |
Write a pseudo code for binary search algorithm, in the context of a dictionary or a phone book. |
||
|- |
|- |
||
| |
| |
||
==== 10.09.19 ==== |
|||
| |
|||
'''Expressions''' |
|||
==== 10.09.2019.==== |
|||
| |
|||
Algorithms revisited. iterative v.s. recursive algorithm, binary search example in both versions. |
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. |
Life cycle of program development. Source code. Compiler v.s. interpreter. Integrated development environment. |
||
Python programming language. Python version 3 vs version 2. |
Python programming language. Python version 3 vs version 2. |
||
Expressions, evaluation of expressions. Operators and their precedence. |
Expressions, evaluation of expressions. Operators and their precedence. |
||
* [https://www.dropbox.com/s/9gk545is1q3jy7j/L02_expressions_literals.pdf?raw=1 Slides] |
|||
* [https://www.dropbox.com/s/9gk545is1q3jy7j/L02_expressions_literals.pdf?dl=0 Slides] |
|||
| |
| |
||
* Explore the online IDE: [http://repl.it/languages/python3 repl.it]. |
* Explore the online IDE: [http://repl.it/languages/python3 repl.it]. |
||
* Read about Anaconda environment. |
* Read about Anaconda environment. |
||
|- |
|- |
||
| |
| |
||
==== 12.09.19 ==== |
|||
| |
|||
'''Variables and assignment''' |
|||
==== 12.09.2019.==== |
|||
| |
|||
Python: variables. Statements. Assignment. Data types. |
Python: variables. Statements. Assignment. Data types. |
||
* [https://www.dropbox.com/s/scmhpox9pf62hk8/L03_variables_assignment.pdf? |
* [https://www.dropbox.com/s/scmhpox9pf62hk8/L03_variables_assignment.pdf?dl=0 Slides] |
||
| |
| |
||
Find out why 123_456 is a valid expression in Python, and what does it mean. |
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. |
|||
==== 16.09.2019.==== |
|||
* [https://www.dropbox.com/s/70xilodu2mqi28n/L04_functions_calling_python.pdf?dl=0 Slides] |
|||
| |
|||
Python: functions. Purpose and uses. Calling functions. Libraries, "import math" statement. |
|||
* [https://www.dropbox.com/s/70xilodu2mqi28n/L04_functions_calling_python.pdf?raw=1 Slides] |
|||
| |
| |
||
Practice writing functions: |
Practice writing functions: |
||
Line 76: | Line 86: | ||
* A greeter function with the name as a parameter |
* A greeter function with the name as a parameter |
||
* A signature (-1,0,+1) function |
* A signature (-1,0,+1) function |
||
|- |
|- |
||
| |
| |
||
==== 17.09.19 ==== |
|||
| |
|||
'''Functions (defining)''' |
|||
==== 17.09.2019.==== |
|||
| |
|||
Python: functions. Defining functions. Function body. The use of indentation in Python. |
Python: functions. Defining functions. Function body. The use of indentation in Python. |
||
* [https://www.dropbox.com/s/b1g3fg08dc898m5/L05_functions_defining_python.pdf? |
* [https://www.dropbox.com/s/b1g3fg08dc898m5/L05_functions_defining_python.pdf?dl=0 Slides] |
||
| |
| |
||
|- |
|- |
||
| |
| |
||
==== 19.09.19 ==== |
|||
| |
|||
'''Relational and boolean expressions''' |
|||
Boolean and comparison operators. |
|||
==== 19.09.2019.==== |
|||
* [https://www.dropbox.com/s/cf14dkw07nhnf1j/L06_expressions_boolean.pdf?dl=0 Slides] |
|||
| |
|||
Expressions, boolean. |
|||
* [https://www.dropbox.com/s/cf14dkw07nhnf1j/L06_expressions_boolean.pdf?raw=1 Slides] |
|||
| |
| |
||
|- |
|- |
||
| |
| |
||
==== 23.09.19 ==== |
|||
| |
|||
'''Control flow (conditionals)''' |
|||
Control flow: if / if-else / if-elif-else. |
|||
==== 23.09.2019.==== |
|||
* [https://www.dropbox.com/s/4ablnnzjqczlbmb/L07_flow_control_if-else-elif.pdf?dl=0 Slides] |
|||
| |
|||
Flow control: if / if-else / if-elif-else. |
|||
* [https://www.dropbox.com/s/4ablnnzjqczlbmb/L07_flow_control_if-else-elif.pdf?raw=1 Slides] |
|||
| |
| |
||
Lab Assignment 1 |
* Lab Assignment 1 |
||
|- |
|- |
||
| |
| |
||
==== 24.09.19 ==== |
|||
<div id="25.09.2019"> </div> |
|||
==== 24.09.2019.==== |
|||
| |
|||
Flow control: examples in functions |
|||
* [https://www.dropbox.com/s/1glgt1ug1xn0yrc/L08_floc_control_examples.pdf?raw=1 Slides] |
|||
| |
| |
||
'''Control flow in functions''' |
|||
|- |
|||
* [https://www.dropbox.com/s/1glgt1ug1xn0yrc/L08_floc_control_examples.pdf?dl=0 Slides] |
|||
| |
| |
||
==== 26.09.2019.==== |
|||
| |
|||
Javascript, part1 |
|||
* [https://www.dropbox.com/s/1mczs8ggt1j09is/L09_Javascript-1?raw=1 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 26.09.19 ==== |
||
| |
|||
Javascript, part2 |
|||
* [https://www.dropbox.com/s/84mwxmlslln1696/Day11-javascript-2.pdf?raw=1 Slides] |
|||
| |
| |
||
'''Javascript 1''' |
|||
|- |
|||
* [https://www.dropbox.com/s/1mczs8ggt1j09is/L09_Javascript-1?dl=0 Slides] |
|||
| |
| |
||
==== 01.10.2019.==== |
|||
| |
|||
Javascript, part3 |
|||
* [https://www.dropbox.com/s/5u67fy5yoqh3prk/Day12-javascript-3.pdf?raw=1 Slides] |
|||
| |
|||
|- |
|- |
||
| |
|||
==== 30.09.19 ==== |
|||
| |
|||
'''Javascript 2''' |
|||
* [https://www.dropbox.com/s/glzojanm86i3aqh/L10_Javascript-2?dl=0 Slides] |
|||
| |
| |
||
|- |
|||
==== 03.10.2019.==== |
|||
| |
|||
TBA |
|||
| |
| |
||
==== 01.10.19 ==== |
|||
| |
|||
'''Javascript 3''' |
|||
* [https://www.dropbox.com/s/pxpyzu97ljbo6m7/L11_Javascript-3?dl=0 Slides] |
|||
| |
|||
* '''Lab exam 01''' |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 03.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Arrays and for loop''' |
|||
* [https://www.dropbox.com/s/b7spkl5ti37c9xe/L12_arrays_for_loop_JS.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 07.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Range (PY) and for..in (JS)''' |
|||
* [https://www.dropbox.com/s/fp4gcjixaughika/L13_python_range_js_foreach.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 08.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Lists (PY)''' |
|||
* [https://www.dropbox.com/s/hkkmfajempudzbj/L14_list_coding_pattern.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 10.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Dictionaries intro (PY)''' |
|||
* [https://www.dropbox.com/s/jg9q84ipc1l5487/L15_dictionaries_1.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 14.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Dictionaries continued (JS) 1''' |
|||
* [https://www.dropbox.com/s/y8ad93pnn2cc9c1/L16_dictionaries_2.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 15.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Dictionaries continued (JS) 2''' |
|||
* [https://www.dropbox.com/s/nuszon5hpifaxvt/L17_dictionaries_3.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 17.10.19 ==== |
||
...24.10.2019 |
|||
| style="background-color:#ffcccc;" | |
|||
Midterm break |
|||
| |
| |
||
'''File reading (PY)''' |
|||
* [https://www.dropbox.com/s/dx2lr8su03cm181/L18_file_reading_1.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
|||
==== 21.10.19 ==== |
|||
| |
|||
'''--- Midterm break ---''' |
|||
| |
| |
||
|- |
|||
==== 28.10.2019.==== |
|||
| |
|||
TBA |
|||
| |
| |
||
==== 22.10.19 ==== |
|||
| |
|||
'''--- Midterm break ---''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 24.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''--- Midterm break ---''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 28.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Parsing data (csv, PY)''' |
|||
* [https://www.dropbox.com/s/j0hr3yj7x02yup9/L19_file_reading_2.pdf?dl=0 Slides] |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 29.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''File writing (PY)''' |
|||
* [https://www.dropbox.com/s/slk0zw4pa01t9kj/L20_file_writing.pdf?dl=0 Slides] |
|||
| |
|||
* Project 1 announced |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 31.10.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''HTML and Javascript''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 04.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''URIs and network connections''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 05.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''A web server (PY)''' |
|||
| |
|||
* '''Lab exam 02''' |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 07.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''JSON intro''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 11.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Python JSON data''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 12.11.19 ==== |
||
| style="background-color:#ffcccc;" | |
|||
National holiday |
|||
| |
| |
||
'''Midterm review''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== 14.11.19 ==== |
|||
| |
|||
'''Midterm''' |
|||
| |
|||
* '''Midterm Exam''' |
|||
|- |
|||
==== 19.11.2019.==== |
|||
| |
|||
TBA |
|||
| |
| |
||
==== 18.11.19 ==== |
|||
| |
|||
'''--- National holiday ---''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 19.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Chat review, AJAX, GET/POST''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 21.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''GET vs POST, HTTP vs HTTPS''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 25.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Midterm return''' |
|||
| |
|||
* '''Lab Exam 03''' |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 26.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Algorithms (theory)''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 28.11.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Algorithms (practice)''' |
|||
| |
|||
* Project 1 due |
|||
* Project 2 announced |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 02.12.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Risks''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 03.12.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Encryption and Hashing''' |
|||
| |
|||
* '''Lab Exam 04''' |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 05.12.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Adding encryption''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 09.12.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Adding authentication''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 10.12.19 ==== |
||
| |
|||
TBA |
|||
| |
| |
||
'''Deploying the app''' |
|||
| |
|||
|- |
|- |
||
| |
| |
||
==== |
==== 12.12.19 ==== |
||
...20.12.2019 |
|||
| style="background-color:#77ccff;" | |
|||
Exam week |
|||
| |
| |
||
'''Final review''' |
|||
| |
|||
* Project 2 due |
|||
|- |
|- |
||
| |
|||
==== 16.12.19 ==== |
|||
| |
|||
'''--- EXAM week ---''' |
|||
| |
| |
||
|- |
|||
==== ??.12.2019.==== |
|||
| Final Exam. |
|||
| |
| |
||
==== 17.12.19 ==== |
|||
|
|||
| |
|||
'''''' |
|||
| |
|||
* '''Final Exam''' |
|||
|- |
|- |
||
|} |
|} |
Revision as of 16:33, 27 September 2019
Introduction to Computer Science 1
Shortcuts: Calendar | Assignments | Resources | #16.08.2024
Introduction
What is Computer Science?
- From Wikipedia:
- 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.
- A video version from Udacity
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. |
|
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:
|
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. |
|
24.09.19 |
Control flow in functions |
|
26.09.19 |
Javascript 1 |
|
30.09.19 |
Javascript 2 |
|
01.10.19 |
Javascript 3 |
|
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 |
--- Midterm break --- |
|
22.10.19 |
--- Midterm break --- |
|
24.10.19 |
--- Midterm break --- |
|
28.10.19 |
Parsing data (csv, PY) |
|
29.10.19 |
File writing (PY) |
|
31.10.19 |
HTML and Javascript |
|
04.11.19 |
URIs and network connections |
|
05.11.19 |
A web server (PY) |
|
07.11.19 |
JSON intro |
|
11.11.19 |
Python JSON data |
|
12.11.19 |
Midterm review |
|
14.11.19 |
Midterm |
|
18.11.19 |
--- National holiday --- |
|
19.11.19 |
Chat review, AJAX, GET/POST |
|
21.11.19 |
GET vs POST, HTTP vs HTTPS |
|
25.11.19 |
Midterm return |
|
26.11.19 |
Algorithms (theory) |
|
28.11.19 |
Algorithms (practice) |
|
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 |
|
16.12.19 |
--- EXAM week --- |
|
17.12.19 |
' |
|