CS50 Indonesia 2023-2024
Joshua Sacher
Sections
Other Stuff
Sections
Week 9
The last section
Thanks so much for attending!
Topics
- Flask
- Flask + SQL
- Sessions
- AJAX
- JSON
Useful shorts
Week 8
Topics
- TCP/IP
- DNS
- HTTP/HTTPS
- HTML
- CSS
- Frameworks
- Javascript
Useful shorts
Week 7
Topics
- Python
- Working with flat files (CSVs)
- Lambda functions
- Relational databases and SQL
- CRUD
- SQL commands
- Data types
- Database structure, joins
sqlite3
- Alternative:
phpliteadmin
- Offline:
- SQLite Browser
- DBeaver (handles multiple database formats)
- Alternative:
- SQL in Python
- Race conditions
- SQL injection attacks
Useful shorts
Week 6
Topics
- Python data types
- Variables, loops, and conditionals
- Object-oriented programming
- Command-line arguments
- Libraries
- CSV
- re
Useful shorts
Week 5
Topics
- Linked lists
- Nodes
- -> operator
- Comparison with arrays
- Stacks, queues
- Hash tables
- Trees
- Tries
Useful shorts
Week 4
Topics
- Hexadecimal
- Memory addresses
*
operator&
operator- Pointers
- The truth about
string
s- Why we need
string.h
- Why we need
- Memory manipulation and issues
- allocation (
malloc
) free
ing- Error checking with
valgrind
- Overflows
- allocation (
scanf
- Intro to file handling
Useful shorts
Week 3
Topics
- Big O notation
- Searching
- Linear search
- Binary search
- Sorting
- Selection sort
- Bubble sort
- Merge Sort
- Recursion
- Data structures
Useful shorts
Week 2
Arrays in C
Topics
- Compiling
- Debugging
- Review: data types
- Arrays
- Strings
- Command-line arguments
Useful shorts
Week 1
Introduction to C
Topics
- Review of general CS concepts and implementation in C
- Variables
- Conditionals
- Loops
- Functions
- Creating your own functions
- Operators
- Data types
- code.cs50.io environment
- Linux and the command line
- Common commands
help50
andcheck50
Note – Topics with more detail next week:
- Compiling
- Debugging
Useful shorts
Week 0
Introduction & Scratch
Topics
- The course in general
- Binary
- ASCII and Unicode
- RGB
- Abstraction
- Algorithms and algorithmic complexity
- Pseudocode
- Scratch
Other Stuff
Resources
Contact Josh
About Josh
- CS50 experience
- CS50 student in Fall 2016 – first CS class at 32 years old!
- Teaching fellow/course assistant for CS50 and related classes since 2017
- 2nd time with CS50 Indonesia
- Work
- Drug discovery scientist at Photys therapeutics
- Cheminformatician/computational chemist – the intersection of chemistry and data science
- Company focuses on new treatments for cancer, other diseases
- Drug discovery scientist at Photys therapeutics
- Education
- B.S. in biochemistry, University of Delaware (2005)
- Ph.D. in chemistry, Penn State University (2012)
- Certificate in bioinformatics, Harvard Extension School (2018)
- Location
- Currently living in Dallas, Texas, United States
- Originally from Wilmington, Delaware, United States (home of President Joe Biden)