Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 3.01 KB

IDEAS.md

File metadata and controls

57 lines (41 loc) · 3.01 KB

Ideas

I had come to CS50 without any knowledge of C so I wanted to use my final as an opportunity to explore my new understanding of the language. I had a couple of ideas:

Sentiment Analysis

C app accessible to the web

Machine Learning Password Brute Force

Kind of pointless since the passwords are hashed and I don't think it's worthwhile trying to gleam some relationship between a hash input and output. These algorithms are designed to obfuscate and be discrete, eg. abc should give a completely different hash to abd.

Word Generator

  • Goal
    • Generate words which look like English
    • take as input a character length
    • we don't want to allow it to match 100% so we should disregard input where Ef(x) = 0
    • we should encourage successive character matches: distance is 0 for multiple characters in a row
  • Error function
    • average of distance of each letter in each word in dict.
    • eg. a -> bat, a = 1, b = 2: (b - a) + (a - 0) + (t - 0);
  • Prediction
    • we should words which are close to English
    • we should see interesting patterns which show up in English

Database

I enjoyed optimizing data lookups using specific hash functions and data structures. This is something abstracted away in languages like JavaScript so I rarely get my hands dirty in this kind of problem at work. I found the speller pset incredibly interesting and would like to explore this problem space more.

  • Goal
    • Setup a database which can be queried using SQL syntax
    • syntax parser can be error sensitive (ie. strict spaces)
    • database will be created and destroyed during each session
    • support select by string
    • allows for implementation of C bindings to NodeJS
    • can implement web based UI

Fibonacci Series

  • Performance of C++
  • Real time benchmark