Gradescope Markdown



Python resources for CS 237. Fast demo of Jupyter Notebooks. Markdown Tutorial: IPYNB. While it will be set to view only, please use the sheet to claim your resources, and comment in the threads with what you want and I will mark it down.

Gradescope markdown problemsGradescope MarkdownGradescope markdown for code

Gradescope Markdown Table

Gradescope markdown for code

Gradescope Markdown Problems

Topics

Gradescope Market Cap

Gradescope markdown manager

Gradescope Markdown Schedule

  • Agile—A Software Development Methodology
  • Agile: Standups—A timeboxed standing meeting to help team make progress
  • Agile: Team Norms—Groundrules set by a team that promote effective and harmonious teamwork and productivty
  • Agile: User Stories—As a (who?) I can (what?) so that (why?)
  • Ant—Apache Ant, a build tool for Java (similar to Make/Makefiles)
  • Antipatterns: —Things to avoid in your code
  • Antipatterns: inheritance—When NOT to use inheritance
  • APIs: —Application Programming Intefaces
  • APIs: Free—Some APIs that offer free access
  • Applications Programming—A compendium of knowledge and skills applications programmers (software developers) need
  • Bug Reports—The typical format: STR, observed, desired
  • Changelog—A Software Development Methodology
  • CI: —Continuous Integration--automatically testing after every commit
  • Code Review—A team activity to improve the code base and the product
  • Code Smells—Common problems that arise in code
  • Code Style—formatting, indenting, names, and much more
  • Code Style: astyle—automatic code indenting tool available on CSIL
  • Course Policies—Explanations of why certain instructors do things they way they do them.
  • Course Policies: Answer Keys—Why do you not provide answer keys for all your old exams?
  • CSIL—Computer Science Instructional Lab machines
  • CSIL: browser from command line—How to open a browser from the command line
  • CSIL: disk quota and file quota issues—How to diagnose and fix
  • CSIL: git configuration—Configuring your CSIL account to use git
  • CSIL: Remote Host Id Changed—The scary REMOTE HOST ID CHANGED message with mention of SOMETHING NASTY
  • CSIL: ssh port forwarding—How to access webapps running on CSIL from your local machine
  • CSIL: via ssh from Linux—Connecting via ssh from the command line
  • CSIL: Via MacOS—Accessing CSIL from your MacOS system
  • CSIL: via ssh from Windows—Connecting via PuTTY/XMing or MobaXterm
  • Data—Various sources for datasets to build applications with
  • Design: —Waterfall, Agile, Rational Unified Process, etc.
  • Design Patterns—software structures that are easier to change
  • Design Patterns: Strategy—Define multiple algorithms and let client application pass the algorithm to be used as a parameter.
  • Eclipse—One of several choices for a Java IDE
  • Enviroment Variables—Reading them from Java code
  • Firebase—A Google sponsored app development platform
  • Frameworks—Software that helps you write other software
  • Game Programming—How to make Java work for Games
  • Gauchospace: Clickable URLs—In assignment submissions, urls should be clickable
  • git and github—version control, source code configuration and project collaboration tools
  • git: basic workflow—The basics: git add..., git commit..., git push ...
  • git: cloning your first repo—A guide for those new to git
  • git: commit messages—How to write clear and helpful commit messages
  • git: feature branch workflow—One branch per feature/issue/story
  • git: git/github troubleshooting—Various problems and their solution
  • git: .gitignore files—What they are for and what to put in them
  • git: merge conflicts—Not nearly as scary as you may have been told
  • git: overview—An introduction. git vs. github.com vs. github.ucsb.edu, repos, etc.
  • git: throwaway untracked files—how to clean up untracked files easily
  • github: adding collaborators—giving individual users access to a private repo
  • github: api—Java Api for Github
  • github: branch protection—making sure PRs to master get code reviewed, for example
  • github.com: creating private repos under an organization—for closed source class assignments
  • github: issues—working with issues in github
  • github: keyboard shortcuts—making the github web UI easier to use
  • github: pro tips—A few extras to help you work with GitHub more effectively
  • github: using ssh keys—generating public/private key pair, uploading public key to github
  • github: ucsb-cs-github-linker—Using the local tool to join a course organization
  • github.ucsb.edu: creating private repos under an organization—for closed source class assignments
  • github: verified badge on commits—adding extra security to your commit messages
  • Google:—Using Google Products in CS48
  • Google: Cloud Credits—What they are good for, and how you can get them
  • Google: Developer Console—The place you configure OAuth, APIs, etc.
  • Gradescope—System for homework grading, feedback and submission
  • Gradescope: Organization Access—How to enable access to organization repos
  • Gradescope: Regrade Requests—What to do if you have questions about the grading of a problem (e.g. you think there was a grading error)
  • Gradescope: Student Self-Submission—Scanning your assignment to PDF
  • Heroku—A cloud computing platform
  • Heroku: Troubleshooting—Solutions to common problems and errors
  • IDEs for Java—Integrated Development Environments for Java (IntelliJ, Eclipse, Netbeans, etc.)
  • JDBC—Java Database Connectivity--a way to use SQL-based databases with Java
  • Jekyll—Creating web sites (like this one) on github-pages using Markdown
  • JSON: —JavaScript Object Notation
  • JSON: Jackson—A Java Package for processing JSON
  • Kanban: —visualization of work in progress
  • localhost—What does it mean to run a web server on localhost?
  • Lombok: —Automatic generation of getters/setters, etc.
  • MacOS—Setting up an environment to do CS56 work on your own Mac (not ssh'ing into CSIL)
  • MacOS: Homebrew—Package installer for Mac OS
  • Markdown—A simplified syntax to create formatted documents
  • Maven—A build tool for Java plus a package manager
  • Minimum Viable Product (MVP)—Simplest thing that a customer would actually use
  • MongoDB—A particular NoSQL database platform
  • MongoDB: Cloud Atlas Setup—Setting up MongoDB Cloud Atlas (for new users)
  • MongoDB: Cloud Atlas Sharing—Sharing a Cloud Atlas Setup
  • MongoDB: Mlab—A cloud provider of MongoDB databases with a free tier
  • MongoDB: NextJS Guide—How database operations in NextJS differ from examples in standard node
  • MongoDB: NextJS Setup—Configurig your NextJS app for MongoDB
  • MongoDB: Spring Properties—How to set properties for connecting to MongoDB when using Spring
  • Node—A JavaScript based backend web framework
  • OAuth—The way we implement the 'login with Google, Facebook, or Github' thing you see on some websites
  • OAuth: Authorizing GitHub Third Party Apps—Gradescope, and GitHub OAuth Apps you build yourself
  • OAuth: GitHub Setup—Setting up a GitHub OAuth App to obtain client id and client secret
  • OAuth: Google Setup—Setting up a Google OAuth App to obtain client id and client secret
  • OOP—Object Oriented Programming
  • Personas—Ficticious users of our product that help us develop our stories
  • PL: —Programming Languages (comparisons, analysis)
  • Port Numbers—Those numbers such as 8080, 12345 that show up when doing networking things
  • Postgres—An implementation of an SQL relational database, available on Heroku
  • Postman—A tool for testing HTTP based APIs
  • Python: OpenCV—Installing OpenCV for Python
  • React—A front-end framework for webapps and native apps
  • Refactoring—
  • REST—RESTful APIs, etc (Representational State Transfer)
  • Retros: —The heart of agile is inspect and adapt; retrospective meetings ('retros') help make sure we do that
  • Retros: Darby/Larsen Five Step Retro—(1) Set Stage, (2) Gather Data, (3) Generate Insights, (4) Decide What To Do, (5) Close Retro
  • Retros: Stop-Start-Continue—A three step formula for running a retro
  • Scrum—A Software Development Methodology
  • Selenium—Remote Control of a Browser (e.g. for end-to-end testing of webapps, web scraping)
  • Selenium: Driver Setup—Setting up your driver
  • Semantic Versioning—A set of rules for assigning meaningful version numbers
  • Slack—A chat-based communication tool for teams
  • Sockets—An abstraction used in networking
  • Software Engineering—What is meant by this term?
  • Spring Boot: —A Java web application framework
  • SQL—SQL-based relational databases (sqlite3, Postgres, MySQL, etc.)
  • Style—Standards and Tools for Code Style
  • $T and $B—Using environment variables to make navigating a src tree less painful
  • TDD: (Test Driven Development)—General information about best practices
  • Teams: —Information about working in teams
  • Teamwork—Practices for setting up a harmonious and productive team
  • Test Driven Development (TDD)—General information about best practices
  • Testing—Everything having to do with testing: Unit testing, Integration Testing, Test Coverage
  • Testing: Acceptance Testing—Criteria for being 'done' with an issue
  • Testing: Agile Testing (Crispin and Gregory)—Material from the book by Lisa Crispin and Janet Gregory, Agile Testing: A Practical Guide for Testers and Agile Teams
  • Testing: Automation—How to make testing an automatic part of your process
  • Testing: End to End Testing—Intro to End to End Testing, and Framework Specific Examples
  • Testing: Jacoco Reports—How to interpret the reports (red, yellow, green)
  • Testing: Jacoco via Maven—Setting up Jacoco test coverage, using Maven
  • Testing: Unit Testing with Jest—Setting up Jest for Next.JS projects
  • Testing: Mocking—Intro to Mocking in Tests, and Framework-specific Examples
  • UML—Unified Modeling Language: A graphical language for software design
  • Unix (and Linux)—A variety of resources related to Unix and Linux, esp. command line tools
  • Unix: Misc tools—Various useful command line tools you may not know about
  • Unix: Search/Replace across multiple files—from the command line, using grep, sed, etc.
  • User Stories: —As a (who?) I can (what?) so that (why?)
  • User Stories: INVEST—Good user stories are: Indepenent, Negotiable, Valuable, Estimatable, Small and Testable
  • vim—a widely used text editor among Unix users
  • vim: basic eight—eight things you need to know how to do for your survival
  • vim: customization—customizing vim for your purposes
  • vscode—Visual Studio Code, a lightweight free editor from Microsoft with many IDE features
  • Waterfall—A model of the Software Design Life Cycle (SDLC) from the 1970s
  • Windows—Setting up an environment to do CS56 work on your own Windows machine (not ssh'ing into CSIL)
  • Windows: WSL—Setting up the Windows Subsystem for Linux (WSL)
  • X11—Dealing with X11 DISPLAY issues
  • YAML—An alternative to XML and JSON for representing structured data in a machine and human readable format
  • Zoom—Teleconferencing tool