Class Website for UCSD's DSC 198 — a course designed to bridge the gap between academic data science and industry practice.
Each week combines data structures & algorithms with applied engineering topics (command line tools, Docker/Kubernetes, cloud engineering, databases, data workflows, visualization, deployment, LLM apps, and more). Guest lecturers from industry and research share how they use that week's topics in their work. The course also covers the full recruiting pipeline — resume tailoring, behavioral interviews, and networking — alongside homework assignments that provide interview practice and hands-on project building. Office hours are available throughout the week.
- Install chruby and ruby-install with Homebrew (install ruby 3.4.1)
- cd to project dir and chruby for ruby-3.4.1 #this should be default from the
.ruby-versionfile going forward. bundle initto create gemfile- Set up gems to be installed locally in project dir:
bundle config set --local path 'vendor/bundle'This creates a.bundlefile - Install Jekyll 4.2:
bundle add jekyllAt this time (9/5/2022) 4.2 auto installs - Create jekyll scaffold:
bundle exec jekyll new --force --skip-bundle .bundle install bundle add webrick- Give it a test run by following the local dev build instructions below!
- Install the Remote - Containers extension in VSCode
- Open the project in VSCode
- Click on the green icon in the bottom left corner of the window and select "Reopen in Container"
- This will build the container and open the project in a containerized environment with all the necessary dependencies installed.
All dev builds will be built into a dev-docs/ dir. This dir is included in .gitignore and is only used for development builds. Any specific dev config should bd included in the _config_dev.yml file. Your absolute path to dev-docs will be different.
bundle exec jekyll serve --config _config.yml,_config_dev.yml --destination ./dev-docs#builds and starts local server on localhost- navigate to http://localhost:4000/dsc40a/
- A merge or direct push to main branch will automatically trigger the jekyll workflow which will build and deploy the main branch to production.
- Check status in github actions for build results.
- Navigate to https://kshannon-ucsd.github.io/dsc40a/
-
- if building with HDSI's domain dsc40a.com add the
CNAMEfile with the url entrydsc40a.cominto the root
- if building with HDSI's domain dsc40a.com add the
This dir is excluded from the jekyll build chain (excluded in the config.yaml file).
Set this up correctly fopr the next iteration:
Change this to choose where to pick data from
data_folder: su24 becomes e.g. wi25
This folder includes data that changes from quarter to quarter, e.g. course calender. I don't want to recreate these data, so I dump them here to use for later. Eventually I would like to create variables to pull this data, but for now this is a fine solution.
The following tags can be applied within a row for each course activity, set within the _data/term/course_calendar.csv file.
- LECT --> lecture
- DEMO --> in-class demo
- CNCL --> no class, or canceled class
- ASSG --> assignment due date
- EXAM --> exam due date
- GRPW --> groupwork
- PRAC --> practice problems
Any other tag used will default to a black colored tag