Try   HackMD

Group 39: CS50x: Introduction to Computer Science

Goals in the next 3 months

Jaryl

  • Remain able to code by finishing the final projects
    • Solving problems
    • Thinking logically
  • Successfully build a website myself, refine my website (back-end)
    • Be confident at using frameworks
  • Implement Linkedin course code
  • Pick up web scraping/ web automation, selenium, and beautiful soup

Nut

  • (tbc)

Daphne

  • My ultimate goal is to automate redundant stuffs in life to save 1 hour a day in the next 3 months. I manage to go through the foundation, and successfully re-implement some instruction to organize files in my Mac, and crawl a simple data set
  • Scrape data from Yahoo Finance, the FS release date
  • Scrape data from 10 most popular job listing sites
  • Scrapre data from Linkedin profiles

Knowledge progress

Jaryl

  • Week 0: Scratch

    • Lecture
    • Problem Set 0
  • Week 1: C programming

    • Lecture
    • Data types
    • Operators
    • Conditional statements
    • Loops
    • Command line
    • Problem Set 1
  • Week 2: Arrays

    • Lecture
    • Functions
    • Arrays
    • Command line arguments
    • Variables and scopes
    • Problem Set 2
  • Week 3: Algorithm

    • Lecture
    • Linear search
    • Binary search
    • Bubble sort
    • Selection sort
    • Insertion sort
    • Recursion
    • Merge sort
    • Algorithm summary
    • Problem Set 3
  • Week 4: Memory

    • Lecture
    • Hexadecimal
    • Pointers
    • Dynamic Memory Allocation
    • Call Stacks
    • File Pointers
    • Problem Set 4
  • Week 5: Data Structures

    • Lecture
    • Data Structures
    • Singly-Linked Lists
    • Hash Tables
    • Tries
    • Problem Set 5
  • Week 6: Python

    • Lecture
    • Python
    • Problem Set 6
  • Week 7: SQL

    • Lecture
    • SQL
    • Problem Set 7
  • Week 8: Information

    • Lecture
  • Final project

Nut

  • Week 0: Scratch

    • Lecture
    • Problem Set 0
  • Week 1: C programming

    • Lecture
    • Data types
    • Operators
    • Conditional statements
    • Loops
    • Command line
    • Problem Set 1
  • Week 2: Arrays

    • Lecture
    • Functions
    • Arrays
    • Command line arguments
    • Variables and scopes
    • Problem Set 2
  • Week 3: Algorithm

    • Lecture
    • Linear search
    • Binary search
    • Bubble sort
    • Selection sort
    • Insertion sort
    • Recursion
    • Merge sort
    • Algorithm summary
    • Problem Set 3
  • Week 4: Memory

    • Lecture
    • Hexadecimal
    • Pointers
    • Dynamic Memory Allocation
    • Call Stacks
    • File Pointers
    • Problem Set 4
  • Week 5: Data Structures

    • Lecture
    • Data Structures
    • Singly-Linked Lists
    • Hash Tables
    • Tries
    • Problem Set 5
  • Week 6: Python

    • Lecture
    • Python
    • Problem Set 6
  • Week 7: SQL

    • Lecture
    • SQL
    • Problem Set 7
  • Week 8: Information

    • Lecture
  • Final project

Daphne

Milestone projects

Knowledge checkpoints

  • Milestone 0: Set up the environment (You can skip this and come back later if the syllabus you are taking provies the coding editor)

    • Install Python 3
    • Install the IDE (eg. Pycharm, Visual Studio Code, etc)
    • Execute and run code with terminal commands (eg. cd, ls, python3, etc)
  • Milestone 1: Learning Basic Python syntax

    • get to know different data types (eg. str(), int(), list())
    • variables and naming convention
    • comment #
    • print()
      • one variables
      • multiple variables using format()
    • read the input data from users using input()
      • restrict the data type using str(), int(), list()
  • Milestone 2: Working with numeric data - integer and float

    • Arithmetic Operators (output: result)
    • Comparison (output: True/ False)
    • Shortcut. Eg. num += 1
    • Commonly used methods: absolute abs(), round(), etc
    • Work with numbers in string format. Eg. "3"
    • Advanced math import math
  • Milestone 3: Working with textual data - string

    • Single quotes vs. Double quotes
    • Create multi-line string using triple quotes ''' or \n
    • Commonly used functions and methods in string
      • Check data types: type()
      • Check string length: len()
      • Index
      • lower() or upper()
      • Concatination
      • replace()
  • Milestone 4: Working with boolean

  • Milestone 5: Conditional statement

    • If Else
    • If Elif Else
  • Milestone 6: Loops and iteration

    • While loop
    • For loop
  • Milestone 7: Function

    • Write your own function
    • 3rd party function
    • Global and Local scopes
  • Milestone 8: Working with data in a container - list, tuple, set, dictionary

    • List
      • access a list using loop
      • append()
      • list comprehension
    • Dictionary
      • understand key - value pair
      • access value from a key: dict['key']
      • add new key to a dict
      • update many keys in one shot: update()
      • delete a key and its value: pop() or del
      • check what keys are there: dict.keys()
      • check what values are there: dict.values()
      • check what key-value pairs are there: dict.items()
    • Tuple and Set
  • Milestone 8: Modules, Libraries

    • Modules
      • create modules
      • variables in module
      • name the module, create an alias for the module
      • import module
      • commonly used modules: OS, csv, etc
    • Libraries
      • import libraries, create an alias for the module
      • commonly used libraries for automation: beautiful soup, selenium, etc