Difference between revisions of "C Programming - Getting Started"

From Computer Science
Jump to: navigation, search
(A Bit More Involved)
(List of Problems)
Line 41: Line 41:
  
 
When you have finished all of these problems, let us know so we can add more...
 
When you have finished all of these problems, let us know so we can add more...
 +
 +
=== And a Bit More ===
 +
These problems are still a bit more involved.  Some require some abstract thinking about the problem, a programming "trick", or other key insight.
 +
 +
* [https://www.hackerrank.com/challenges/permutations-of-strings/problem Permutations of Strings]
 +
* [https://www.hackerrank.com/challenges/sorting-array-of-strings/problem Sorting Array of Strings]
 +
* [https://www.hackerrank.com/challenges/querying-the-document/problem Querying the Document]
 +
 +
=== After That ===
 +
If you are able to do all of the problems above, then you don't need us to give you lists of problems any more.  You can pick problems to work through on your own.  Some suggested places with problems are as follows.
 +
* [https://www.hackerrank.com/domains/algorithms Hackerrank - algorithms]
 +
* [https://www.hackerrank.com/domains/data-structures Hackerrank - data structures]
 +
* [http://cs.indstate.edu/acm/contests.html ACM Contest Problems]

Revision as of 02:41, 8 August 2019

For a video explaining how to get started with this bootcamp, see https://youtu.be/WYTDuKRXWJQ

Getting started with C programming.

  1. Reading - start reading through one of the following (pick one that seems an easy read for you) before you start working on the programming problems.
    1. The C Book - a bit older, suitable for people with just a bit of programming experience
    2. C Programming Tutorial - suitable for people with no previous programming experience
    3. Fresh2Refresh Tutorial - more of a summary, easy to find particular topics
    4. cplusplus.com - contains references for functions, often one of the first search results on google searches for C
    5. MIT C course - with lecture notes and assignments
    6. Cornell C course - with lecture notes and assignments
  2. Work on solving these problems - https://www.hackerrank.com/domains/c. Start with the first problem and work your way up from there.
  3. Get C installed on your computer - download and install some C compiler/IDE. We use gcc (see https://gcc.gnu.org/install/binaries.html). You could use any compiler/IDE that is C (not C++). Eclipse (see https://www.eclipse.org/downloads/) would be fine. So would MS Visual Studio (see https://visualstudio.microsoft.com/). Or Clang (see http://releases.llvm.org/download.html). Or some in-browser C site, like https://repl.it/languages/c or https://www.onlinegdb.com/online_c_compiler.
  4. If you are a current or incoming ISU student, or an ISU alumni, sign up for the ISU CS Mattermost at https://judy.indstate.edu. Note that you need to use your @sycamores.indstate.edu email address to sign up. Look for the C Programming Channel (direct link is https://judy.indstate.edu/isu-cs/channels/c-programming). When asking about the hackerrank problems make sure to refer to them using the title hackerrank gives them.

That's it for now. Let's see how far you can get with solving the hackerrank problems! Good luck!

List of Problems

Here are problems to work on from the hackerrank set. Note that you should work on more than just this set, but these are ones we are ready to help you solve!

Basic Programming

These problems are all pretty basic - require a single loop, if statement, etc. They are good when you are just getting started with C.

A Bit More Involved

These problems require nested loops, working with arrays, or other things that are the next level of difficulty. Solve all of the Basic Programming problems before starting on these.

When you have finished all of these problems, let us know so we can add more...

And a Bit More

These problems are still a bit more involved. Some require some abstract thinking about the problem, a programming "trick", or other key insight.

After That

If you are able to do all of the problems above, then you don't need us to give you lists of problems any more. You can pick problems to work through on your own. Some suggested places with problems are as follows.