Difference between revisions of "Programming and CS - Getting Started"

From Computer Science
Jump to: navigation, search
(Python)
(Recommended Computer)
 
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
We are developing bootcamps on the most important topics and skills that are used throughout our courses.  These can be used by incoming undergraduate students to get a head start, incoming graduate students to review, or current students to refresh/remediate.
+
We are developing Getting Started pages on the most important topics and skills that are used throughout our courses.  These can be used by incoming undergraduate students to get a head start, incoming graduate students to review, or current students to refresh/remediate.
  
=Programming Bootcamps=
+
=Recommended Computer=
 +
Much of what we do in CS courses can work in Windows, Mac OS, Linux, or Chrome.  There will be an odd thing or two still that may not work in Chrome. 
  
==Python==
+
All other things being equal, getting a computer that is not "bottom of the barrel" would be good.  Chromebooks in the $400+ range should generally work reasonably well. For Windows/Linux/Mac OS laptops, you should be looking for 8GB RAM bare minimum, preferred 16GB if possible, and avoid getting a laptop with an i3 or Celeron processor; this roughly corresponds to the $500+ price rangeYou can potentially get anything to work, but will have an easier time with a medium-range computer than a low-end system.
Getting started with Python and this bootcamp.
 
# Reading - start reading through the following before you start working on the programming problems.
 
## [http://greenteapress.com/thinkpython2/html/index.html Think Python] - suitable for people with very limited programming experience, not very deep
 
## [https://learnxinyminutes.com/docs/python3/ LearnXinYminutes] - quick review once you are familiar with the basics
 
## [https://docs.python.org/3/tutorial/ Python.org tutorial] - good for those with programming experience already
 
# Work on solving these problems - https://www.hackerrank.com/domains/pythonStart with the first problem and work your way up from there.
 
# Get Python installed on your computer - download the latest Python3 version at https://www.python.org/downloads/.  Having python3 installed on your computer allows you to debug much quicker.
 
# If you are a current or incoming ISU student, or an ISU alumni, sign up for the ISU CS Mattermost at https://judy.indstate.eduNote that you need to use your @sycamores.indstate.edu email address to sign up.  Look for the Python Programming Channel (direct link is https://judy.indstate.edu/isu-cs/channels/python-programming).  When asking about the hackerrank problems make sure to refer to them using the title hackerrank gives them.
 
  
That's it for nowLet's see how far you can get with solving the hackerrank problems!  Good luck!
+
For laptops, we recommend getting at least a 3 year warranty (since they tend to break if you actually do transport them around)Also, we recommend getting an option that has a long battery life (rule of thumb - battery life will be half of its original rating after 1-2 years of regular daily use).
  
==C==
+
You should also have the ability to install programs on the system and have a normally reliable internet connection at home if possible.
  
==R==
+
If you have a particular system in mind for purchase that you would like an opinion on, please feel free to contact one of the CS faculty members.
The R Bootcamp is at - [[R Programming Bootcamp]]
 
  
=Algorithms and Data Structures=
+
University requirements are listed [https://www.indstate.edu/online/resources/students/technology-requirements here] and are similar to that described above.
  
==Data Structures==
+
=Getting Started Pages=
 +
* [[Linux and CS Systems - Getting Started]]
 +
* [[Handin|Handin - The CS Assignment Handin System]]
 +
* [[Python Programming - Getting Started]]
 +
* [[C Programming - Getting Started]]
 +
* [[R Programming - Getting Started]]
 +
* [[Algorithms and Data Structures - Getting Started]]
 +
* [[Gitlab - Getting Started]]
  
==Algorithms==
+
=Practice Programming Contest Problems=
 +
These are problems with precisely defined correct output, so that you can submit your program to make sure it is 100% correct.
  
=Linux and CS Systems=
+
* [http://www.hackerrank.com/ Hacker Rank] - very user-friendly, different programming languages available, different categories of questions
The Linux and CS Systems bootcamp is here - [[Linux and CS Systems Bootcamp]].
+
* [https://open.kattis.com/problems Practice problems] at open.kattis.com (sort by difficulty or solved % to try the easiest ones first)
 +
* [http://cs.indstate.edu/acm/contests.html ISU ACM Club's Contest Problem page]
 +
* [http://cs.indstate.edu/~jkinne/Cpractice/ A few simple practice problems], with solutions to some on the CS server. See the .txt files.
 +
 
 +
= Source Control =
 +
It is a good idea to use source control when developing software, and is necessary when you are developing in a group or professionally. When working on assignments or course projects it is the best practice to use a private repository so other students cannot copy your work. Git is the industry standard for source control. Here are some resources to use to learn Git.
 +
 
 +
* https://try.github.io/
 +
* https://learngitbranching.js.org/
 +
* https://www.atlassian.com/git

Latest revision as of 20:54, 23 July 2023

We are developing Getting Started pages on the most important topics and skills that are used throughout our courses. These can be used by incoming undergraduate students to get a head start, incoming graduate students to review, or current students to refresh/remediate.

Recommended Computer

Much of what we do in CS courses can work in Windows, Mac OS, Linux, or Chrome. There will be an odd thing or two still that may not work in Chrome.

All other things being equal, getting a computer that is not "bottom of the barrel" would be good. Chromebooks in the $400+ range should generally work reasonably well. For Windows/Linux/Mac OS laptops, you should be looking for 8GB RAM bare minimum, preferred 16GB if possible, and avoid getting a laptop with an i3 or Celeron processor; this roughly corresponds to the $500+ price range. You can potentially get anything to work, but will have an easier time with a medium-range computer than a low-end system.

For laptops, we recommend getting at least a 3 year warranty (since they tend to break if you actually do transport them around). Also, we recommend getting an option that has a long battery life (rule of thumb - battery life will be half of its original rating after 1-2 years of regular daily use).

You should also have the ability to install programs on the system and have a normally reliable internet connection at home if possible.

If you have a particular system in mind for purchase that you would like an opinion on, please feel free to contact one of the CS faculty members.

University requirements are listed here and are similar to that described above.

Getting Started Pages

Practice Programming Contest Problems

These are problems with precisely defined correct output, so that you can submit your program to make sure it is 100% correct.

Source Control

It is a good idea to use source control when developing software, and is necessary when you are developing in a group or professionally. When working on assignments or course projects it is the best practice to use a private repository so other students cannot copy your work. Git is the industry standard for source control. Here are some resources to use to learn Git.