From a63ae5bf0dfacc00fa28f685c02f1b5b821cb80b Mon Sep 17 00:00:00 2001 From: Benjamin Qi Date: Sun, 28 Jun 2020 21:09:52 -0400 Subject: [PATCH] push intro --- content/1_Intro/Data_Types.md | 6 ++-- content/1_Intro/Languages.md | 27 ++++++++++------- content/1_Intro/Running_Cpp.md | 54 ++++++++++++++++------------------ content/3_Bronze/Time_Comp.mdx | 4 +-- content/6_Plat/HLD.mdx | 3 +- 5 files changed, 50 insertions(+), 44 deletions(-) diff --git a/content/1_Intro/Data_Types.md b/content/1_Intro/Data_Types.md index 2750aab..5eed15d 100644 --- a/content/1_Intro/Data_Types.md +++ b/content/1_Intro/Data_Types.md @@ -7,8 +7,10 @@ description: Learn about the basic data types needed for competitive programming ## Additional Reading - - CPH 1.1 - 1.3 - - [PAPC 2.3](http://www.csc.kth.se/~jsannemo/slask/main.pdf) + + + + ## Data Types diff --git a/content/1_Intro/Languages.md b/content/1_Intro/Languages.md index cbde1b4..b13968c 100644 --- a/content/1_Intro/Languages.md +++ b/content/1_Intro/Languages.md @@ -48,12 +48,17 @@ In particular, contestants using Java should be familiar with roughly the first ## Resources for Learning How to Code -[Sololearn](https://www.sololearn.com/) has courses on C++, Java, and Python. You don't have to complete the full course. ### C++ - - If you use Sololearn, we recommend you finish everything up to (but not including) "More on Classes." - - [Ch 2 of PAPS](http://www.csc.kth.se/~jsannemo/slask/main.pdf) also contains a C++ tutorial. Use one of these two resources (or find your own) to learn C++. +Use one of these resources (or find your own) to learn C++. + + + also courses for Java, Python + + + +If you use Sololearn, we recommend you finish everything up to (but not including) "More on Classes." You don't have to complete the full course. @@ -66,14 +71,14 @@ You do not need to learn pointers (for now). Knowledge of structs and classes is -Note: We don't agree with all views expressed in the links below. Let us know what works (or doesn't) for you. +Let us know what works (or doesn't) for you. + + + can practice basics with "Arcade," "Interview Practice" + lots of links! + not so up to date + generally good, although CSES (see resources) is definitely a better place to start than USACO Training or Codechef + - - [CodeSignal](https://codesignal.com/) - - can practice basics with "Arcade," "Interview Practice" - - [Philippines OI: Prepare](https://noi.ph/prepare/) - - lots of links! - - [IOI - Getting Started](https://ioinformatics.org/page/getting-started/14) - - not so up to date - - [Quora - Schedule for Beginners (Joshua Pan)](https://www.quora.com/What-is-a-good-schedule-to-follow-for-becoming-better-at-competitive-programming-for-beginners) \ No newline at end of file diff --git a/content/1_Intro/Running_Cpp.md b/content/1_Intro/Running_Cpp.md index dfe2176..c2f91cb 100644 --- a/content/1_Intro/Running_Cpp.md +++ b/content/1_Intro/Running_Cpp.md @@ -27,19 +27,14 @@ You can share code with [pastebin](https://pastebin.com/) or [hastebin](https:// These often have C++ support already built-in. - - [Visual Studio Code](https://code.visualstudio.com/) - - lightweight, fast IDE, but requires some configuration - - see [PAPC Ch 2.1](http://www.csc.kth.se/~jsannemo/slask/main.pdf) for setup instructions - - [Visual Studio](https://visualstudio.microsoft.com/vs/) - - heavier cousin of VS Code, VS Code is better for competitive programming - - [Geany](https://www.geany.org/) - - Ben: I used at IOI - - [Codeblocks](http://www.codeblocks.org/) - - bad on Mac - - [XCode](https://developer.apple.com/xcode/) - - Mac only - - [CLion](https://www.jetbrains.com/clion/) - - requires a license, but [free for students](https://www.jetbrains.com/community/education/#students) + + Lightweight, fast IDE, but requires some configuration. See PAPC 2.1 for setup instructions. + Lightweight, frequently used at IOI. + Heavier cousin of VS Code. VS Code is better for competitive programming. + Bad on Mac. + Mac only. + Requires a license, but free for students. + # Using Command Line @@ -47,21 +42,24 @@ Alternatively, run C++ from the command line and use a text editor of your choic ## Text Editors - - [Sublime Text 3](https://www.sublimetext.com/) - - fast, lightweight text editor for Windows, Mac, and Linux - - [Editing Build Settings](https://stackoverflow.com/questions/23789410/how-to-edit-sublime-text-build-settings) - - no need to do this if you just use command line to compile & run - - [FastOlympicCoding Addon](https://github.com/Jatana/FastOlympicCoding) - - see "Debugging" for another way to stress test - - [Sublime Snippets](https://www.granneman.com/webdev/editors/sublime-text/top-features-of-sublime-text/quickly-insert-text-and-code-with-sublime-text-snippets) - - Ben - I use to insert templates - - [Symlink](https://www.sublimetext.com/docs/3/osx_command_line.html) - - Ben - Using `/usr/local/bin/subl` instead of `~/bin/subl` worked for me on OS X Mojave. - - [Atom](https://atom.io/) - - another text editor for Windows, Mac, and Linux from the makers of Github - - [Vim](https://www.vim.org/) - - classic text editor, usually preinstalled on Mac and Linux, and also available for Windows - - probably easiest way to print syntax-highlighted code on Mac, see the response to [this post](https://stackoverflow.com/questions/1656914/printing-code-with-syntax-highlighting) + + Fast, lightweight. Keeps asking you to purchase a license ... + From the makers of Github. + Classic text editor, usually preinstalled on Linux. + + +Vim is probably the easiest way to print syntax-highlighted code on Mac, see the response to [this post](https://stackoverflow.com/questions/1656914/printing-code-with-syntax-highlighting). + +### Sublime Text Notes + + - [Editing Build Settings](https://stackoverflow.com/questions/23789410/how-to-edit-sublime-text-build-settings) + - no need to do this if you just use command line to compile & run + - [FastOlympicCoding Addon](https://github.com/Jatana/FastOlympicCoding) + - see "Debugging" for another way to stress test + - [Sublime Snippets](https://www.granneman.com/webdev/editors/sublime-text/top-features-of-sublime-text/quickly-insert-text-and-code-with-sublime-text-snippets) + - Ben - I use to insert templates + - [Symlink](https://www.sublimetext.com/docs/3/osx_command_line.html) + - Ben - Using `/usr/local/bin/subl` instead of `~/bin/subl` worked for me on OS X Mojave. ## On Linux diff --git a/content/3_Bronze/Time_Comp.mdx b/content/3_Bronze/Time_Comp.mdx index 796ba67..f633c62 100644 --- a/content/3_Bronze/Time_Comp.mdx +++ b/content/3_Bronze/Time_Comp.mdx @@ -9,8 +9,8 @@ description: Measuring how long your algorithm takes to run in terms of the inpu - - + good intro and examples + more in-depth # Time Complexity diff --git a/content/6_Plat/HLD.mdx b/content/6_Plat/HLD.mdx index 60310cc..b957bdd 100644 --- a/content/6_Plat/HLD.mdx +++ b/content/6_Plat/HLD.mdx @@ -33,9 +33,10 @@ export const metadata = { ## Tutorial - explains what HLD is (but incomplete & overly complicated code) + + explains what HLD is (but incomplete & overly complicated code) ## Problems