Difference between revisions of "BITL-CS1"
(→Calendar) |
(→19.11.19) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 35: | Line 35: | ||
! Exercises |
! Exercises |
||
|- |
|- |
||
| |
|||
| ==== 09.09.19 ==== |
|||
==== 09.09.19 ==== |
|||
| |
| |
||
'''Course overview''' |
'''Course overview''' |
||
Line 45: | Line 46: | ||
|- |
|- |
||
| |
|||
| ==== 10.09.19 ==== |
|||
==== 10.09.19 ==== |
|||
| |
| |
||
'''Expressions''' |
'''Expressions''' |
||
Line 61: | Line 63: | ||
|- |
|- |
||
| |
|||
| ==== 12.09.19 ==== |
|||
==== 12.09.19 ==== |
|||
| |
| |
||
'''Variables and assignment''' |
'''Variables and assignment''' |
||
Line 71: | Line 74: | ||
|- |
|- |
||
| |
|||
| ==== 16.09.19 ==== |
|||
==== 16.09.19 ==== |
|||
| |
| |
||
'''Functions (calling)''' |
'''Functions (calling)''' |
||
Line 84: | Line 88: | ||
|- |
|- |
||
| |
|||
| ==== 17.09.19 ==== |
|||
==== 17.09.19 ==== |
|||
| |
| |
||
'''Functions (defining)''' |
'''Functions (defining)''' |
||
Line 93: | Line 98: | ||
|- |
|- |
||
| |
|||
| ==== 19.09.19 ==== |
|||
==== 19.09.19 ==== |
|||
| |
| |
||
'''Relational and boolean expressions''' |
'''Relational and boolean expressions''' |
||
Line 102: | Line 108: | ||
|- |
|- |
||
| |
|||
| ==== 23.09.19 ==== |
|||
==== 23.09.19 ==== |
|||
| |
| |
||
'''Control flow (conditionals)''' |
'''Control flow (conditionals)''' |
||
Line 112: | Line 119: | ||
|- |
|- |
||
| |
|||
| ==== 24.09.19 ==== |
|||
==== 24.09.19 ==== |
|||
| |
| |
||
'''Control flow in functions''' |
'''Control flow in functions''' |
||
Line 119: | Line 127: | ||
|- |
|- |
||
| |
|||
| ==== 26.09.19 ==== |
|||
==== 26.09.19 ==== |
|||
| |
| |
||
'''Javascript 1''' |
'''Javascript 1''' |
||
Line 126: | Line 135: | ||
|- |
|- |
||
| |
|||
| ==== 30.09.19 ==== |
|||
==== 30.09.19 ==== |
|||
| |
| |
||
'''Javascript 2''' |
'''Javascript 2''' |
||
Line 133: | Line 143: | ||
|- |
|- |
||
| |
|||
| ==== 01.10.19 ==== |
|||
==== 01.10.19 ==== |
|||
| |
| |
||
'''Javascript 3''' |
'''Javascript 3''' |
||
Line 141: | Line 152: | ||
|- |
|- |
||
| |
|||
| ==== 03.10.19 ==== |
|||
==== 03.10.19 ==== |
|||
| |
| |
||
'''Arrays and for loop''' |
'''Arrays and for loop''' |
||
Line 148: | Line 160: | ||
|- |
|- |
||
| |
|||
| ==== 07.10.19 ==== |
|||
==== 07.10.19 ==== |
|||
| |
| |
||
'''Range (PY) and for..in (JS)''' |
'''Range (PY) and for..in (JS)''' |
||
Line 155: | Line 168: | ||
|- |
|- |
||
| |
|||
| ==== 08.10.19 ==== |
|||
==== 08.10.19 ==== |
|||
| |
| |
||
'''Lists (PY)''' |
'''Lists (PY)''' |
||
Line 162: | Line 176: | ||
|- |
|- |
||
| |
|||
| ==== 10.10.19 ==== |
|||
==== 10.10.19 ==== |
|||
| |
| |
||
'''Dictionaries intro (PY)''' |
'''Dictionaries intro (PY)''' |
||
Line 169: | Line 184: | ||
|- |
|- |
||
| |
|||
| ==== 14.10.19 ==== |
|||
==== 14.10.19 ==== |
|||
| |
| |
||
'''Dictionaries continued (JS) 1''' |
'''Dictionaries continued (JS) 1''' |
||
Line 176: | Line 192: | ||
|- |
|- |
||
| |
|||
| ==== 15.10.19 ==== |
|||
==== 15.10.19 ==== |
|||
| |
| |
||
'''Dictionaries continued (JS) 2''' |
'''Dictionaries continued (JS) 2''' |
||
Line 183: | Line 200: | ||
|- |
|- |
||
| |
|||
| ==== 17.10.19 ==== |
|||
==== 17.10.19 ==== |
|||
| |
| |
||
'''File reading (PY)''' |
'''File reading (PY)''' |
||
Line 190: | Line 208: | ||
|- |
|- |
||
| |
|||
| ==== 21.10.19 ==== |
|||
==== 21.10.19 ==== |
|||
| |
| |
||
'''Parsing data (csv, PY)''' |
'''Parsing data (csv, PY)''' |
||
Line 197: | Line 216: | ||
|- |
|- |
||
| |
|||
| ==== 22.10.19 ==== |
|||
==== 22.10.19 ==== |
|||
| |
| |
||
'''File writing (PY)''' |
'''File writing (PY)''' |
||
* [https://www.dropbox.com/s/slk0zw4pa01t9kj/L20_file_writing.pdf?dl=0 Slides] |
* [https://www.dropbox.com/s/slk0zw4pa01t9kj/L20_file_writing.pdf?dl=0 Slides] |
||
| |
| |
||
* [https://docs.google.com/document/d/1zMkzdEQFe_vbf2_TGBesIVjZHgBmSLtXnbj5KoyEmjE/view Project 1] announced |
|||
* Project 1 announced |
|||
|- |
|- |
||
| |
|||
| ==== 24.10.19 ==== |
|||
==== 24.10.19 ==== |
|||
| |
| |
||
'''Q & A session''' |
'''Q & A session''' |
||
Line 211: | Line 233: | ||
|- |
|- |
||
| |
|||
| ==== 28.10.19 ==== |
|||
==== 28.10.19 ==== |
|||
| |
| |
||
'''HTML and Javascript''' |
'''HTML and Javascript''' |
||
Line 218: | Line 241: | ||
|- |
|- |
||
| |
|||
| ==== 29.10.19 ==== |
|||
==== 29.10.19 ==== |
|||
| |
| |
||
'''URIs and network connections''' |
'''URIs and network connections''' |
||
Line 225: | Line 249: | ||
|- |
|- |
||
| |
|||
| ==== 31.10.19 ==== |
|||
==== 31.10.19 ==== |
|||
| |
| |
||
'''A web server (PY)''' |
'''A web server (PY)''' |
||
Line 233: | Line 258: | ||
|- |
|- |
||
| |
|||
| ==== 04.11.19 ==== |
|||
==== 04.11.19 ==== |
|||
| |
| |
||
'''Midterm review''' |
'''Midterm review''' |
||
Line 240: | Line 266: | ||
|- |
|- |
||
| |
|||
| ==== 05.11.19 ==== |
|||
==== 05.11.19 ==== |
|||
| |
| |
||
'''Midterm exam''' |
'''Midterm exam''' |
||
Line 247: | Line 274: | ||
|- |
|- |
||
| |
|||
| ==== 07.11.19 ==== |
|||
==== 07.11.19 ==== |
|||
| |
| |
||
'''''' |
'''''' |
||
Line 253: | Line 281: | ||
|- |
|- |
||
| |
|||
| ==== 11.11.19 ==== |
|||
==== 11.11.19 ==== |
|||
| |
| |
||
'''JSON and AJAX introduction''' |
'''JSON and AJAX introduction''' |
||
Line 260: | Line 289: | ||
|- |
|- |
||
| |
|||
| ==== 12.11.19 ==== |
|||
==== 12.11.19 ==== |
|||
| |
| |
||
'''AJAX, Chat app''' |
'''AJAX, Chat app''' |
||
Line 267: | Line 297: | ||
|- |
|- |
||
| |
|||
| ==== 14.11.19 ==== |
|||
==== 14.11.19 ==== |
|||
| |
| |
||
'''Midterm analysis''' |
'''Midterm analysis''' |
||
Line 274: | Line 305: | ||
|- |
|- |
||
| |
|||
| ==== 18.11.19 ==== |
|||
==== 18.11.19 ==== |
|||
| style='background-color:#ffcccc;' | |
| style='background-color:#ffcccc;' | |
||
'''--- National holiday ---''' |
'''--- National holiday ---''' |
||
Line 280: | Line 312: | ||
|- |
|- |
||
| |
|||
| ==== 19.11.19 ==== |
|||
==== 19.11.19 ==== |
|||
| |
| |
||
'''AJAX, GET/POST review''' |
'''AJAX, GET/POST review''' |
||
* [https://www.dropbox.com/s/0etweybz777jz8j/L28_MusicRatingApp.pdf?dl=0 Slides] |
* [https://www.dropbox.com/s/0etweybz777jz8j/L28_MusicRatingApp.pdf?dl=0 Slides] |
||
Music rater app, version 1 |
|||
* [https://www.dropbox.com/sh/08671p5n3hbl3ka/AADrn_ce7PVqsMYkrEjXOb-Xa?dl=0 V1 source code] |
|||
| |
| |
||
|- |
|- |
||
| |
|||
| ==== 21.11.19 ==== |
|||
==== 21.11.19 ==== |
|||
| |
| |
||
'''Search and sort''' |
'''Search and sort''' |
||
Line 294: | Line 331: | ||
|- |
|- |
||
| |
|||
| ==== 25.11.19 ==== |
|||
==== 25.11.19 ==== |
|||
| |
| |
||
'''Sorting and custom sort''' |
'''Sorting and custom sort''' |
||
Line 303: | Line 341: | ||
|- |
|- |
||
| |
|||
| ==== 26.11.19 ==== |
|||
==== 26.11.19 ==== |
|||
| |
| |
||
'''Database''' |
'''Database''' |
||
Line 311: | Line 350: | ||
|- |
|- |
||
| |
|||
| ==== 28.11.19 ==== |
|||
==== 28.11.19 ==== |
|||
| |
| |
||
'''Database application''' |
'''Database application''' |
||
Line 318: | Line 358: | ||
|- |
|- |
||
| |
|||
| ==== 02.12.19 ==== |
|||
==== 02.12.19 ==== |
|||
| |
| |
||
'''SQL and SQL injection''' |
'''SQL and SQL injection''' |
||
Line 325: | Line 366: | ||
|- |
|- |
||
| |
|||
| ==== 03.12.19 ==== |
|||
==== 03.12.19 ==== |
|||
| |
| |
||
'''Encryption and Hashing''' |
'''Encryption and Hashing''' |
||
Line 332: | Line 374: | ||
|- |
|- |
||
| |
|||
| ==== 05.12.19 ==== |
|||
==== 05.12.19 ==== |
|||
| |
| |
||
'''Designing the application''' |
'''Designing the application''' |
||
Line 339: | Line 382: | ||
|- |
|- |
||
| |
|||
| ==== 09.12.19 ==== |
|||
==== 09.12.19 ==== |
|||
| |
| |
||
'''Passwords and session''' |
'''Passwords and session''' |
||
Line 346: | Line 390: | ||
|- |
|- |
||
| ==== 10.12.19 ==== |
|||
| |
| |
||
==== 10.12.19 ==== |
|||
'''Q&A''' |
|||
| |
|||
'''TBD''' |
|||
| |
| |
||
|- |
|- |
||
| |
|||
| ==== 12.12.19 ==== |
|||
==== 12.12.19 ==== |
|||
| |
| |
||
'''Final review''' |
'''Final review''' |
||
Line 359: | Line 405: | ||
|- |
|- |
||
| |
|||
| ==== 16.12.19 ==== |
|||
==== 16.12.19 ==== |
|||
| style='background-color:#ffcccc;' | |
| style='background-color:#ffcccc;' | |
||
'''--- EXAM week starts ---''' |
'''--- EXAM week starts ---''' |
||
Line 365: | Line 412: | ||
|- |
|- |
||
| |
|||
| ==== 17.12.19 ==== |
|||
==== 17.12.19 ==== |
|||
| |
| |
||
'''Final exam''' |
'''Final exam''' |
||
Line 372: | Line 420: | ||
|- |
|- |
||
| |
|||
|} |
|} |
||
=Assignments= |
=Assignments= |
||
==Project 1== |
|||
[https://docs.google.com/document/d/1zMkzdEQFe_vbf2_TGBesIVjZHgBmSLtXnbj5KoyEmjE/view The project description is avail;able here] |
|||
=Resources= |
=Resources= |
||
Line 380: | Line 431: | ||
* [https://docs.python.org/3/reference/ The Python Language Reference] |
* [https://docs.python.org/3/reference/ The Python Language Reference] |
||
* [https://docs.python.org/3/library/ The Python Standard Library] |
* [https://docs.python.org/3/library/ The Python Standard Library] |
||
====Q&A sessions==== |
|||
We use Slido for Q&A sessions [https://app.sli.do/event/wkqtbios/live/questions here]. Use the code as provided in Slack. |
Revision as of 11:41, 19 November 2019
Introduction to Computer Science 1
Shortcuts: Calendar | Assignments | Resources | Today (if there is a class)
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 |
Parsing data (csv, PY) |
|
22.10.19 |
File writing (PY) |
|
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) |
|
04.11.19 |
Midterm review |
|
05.11.19 |
Midterm exam |
|
07.11.19 |
' |
|
11.11.19 |
JSON and AJAX introduction |
|
12.11.19 |
AJAX, Chat app |
|
14.11.19 |
Midterm analysis |
|
18.11.19 |
--- National holiday --- |
|
19.11.19 |
AJAX, GET/POST review Music rater app, version 1 |
|
21.11.19 |
Search and sort |
|
25.11.19 |
Sorting and custom sort |
|
26.11.19 |
Database |
|
28.11.19 |
Database application |
|
02.12.19 |
SQL and SQL injection |
|
03.12.19 |
Encryption and Hashing |
|
05.12.19 |
Designing the application |
|
09.12.19 |
Passwords and session |
|
10.12.19 |
TBD |
|
12.12.19 |
Final review |
|
16.12.19 |
--- EXAM week starts --- |
|
17.12.19 |
Final exam |
|
Assignments
Project 1
The project description is avail;able here
Resources
Q&A sessions
We use Slido for Q&A sessions here. Use the code as provided in Slack.