Difference between revisions of "BITL-CS1"
(→Resources) |
(→Resources) |
||
Line 429: | Line 429: | ||
==Project 2== |
==Project 2== |
||
[https://docs.google.com/document/d/1moNcB7zsRaFPdHQFGi2tkq9IT7ta_aqHusfcz9yefqo/view The project 2 description is available here] |
[https://docs.google.com/document/d/1moNcB7zsRaFPdHQFGi2tkq9IT7ta_aqHusfcz9yefqo/view The project 2 description is available here] |
||
=Q&A sessions= |
|||
⚫ | |||
=Resources= |
=Resources= |
||
===Python=== |
|||
* [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] |
||
===SQL=== |
|||
* [https://www.zentut.com/sql-tutorial/ SQL tutorial] at zentut.com |
* [https://www.zentut.com/sql-tutorial/ SQL tutorial] at zentut.com |
||
* [https://sqlzoo.net/ "SQLzoo"] - SQL wiki and tutorials, interactive tests. |
* [https://sqlzoo.net/ "SQLzoo"] - SQL wiki and tutorials, interactive tests. |
||
* [https://www.sqlitetutorial.net/sqlite-python/ SQLite tutorial] |
* [https://www.sqlitetutorial.net/sqlite-python/ SQLite tutorial] |
||
===Algorithms=== |
|||
⚫ | |||
* [https://www.youtube.com/watch?v=tPtvKYinUzc Visualisations of different sorting algorithms] |
|||
=== |
===Misc=== |
||
⚫ | |||
⚫ | |||
* [https://app.sli.do/event/wkqtbios/live/questions Slido for Q&A sessions] |
Revision as of 18:10, 26 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 1 description is available here
Project 2
The project 2 description is available here
Q&A sessions
We use Slido for Q&A sessions here. Use the code as provided in Slack.
Resources
Python
SQL
- SQL tutorial at zentut.com
- "SQLzoo" - SQL wiki and tutorials, interactive tests.
- SQLite tutorial