Difference between revisions of "CS Accounts and CS Lab Computers"

From Computer Science
Jump to: navigation, search
(Logging into CS Server Remotely)
(Operating System and Class Accounts)
(5 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
Many of the CS courses make use of the CS server, which runs Linux. For courses that use the CS server, your programming assignments will be compiled and run on the CS server.
 
Many of the CS courses make use of the CS server, which runs Linux. For courses that use the CS server, your programming assignments will be compiled and run on the CS server.
  
If your class makes use of the CS server, you will be given a "class account". These class accounts allow you to login to the CS server remotely and login to the computers in the CS lab and classroom (Root Hall, A-015, A-017, A-019). The class accounts will be given to you by your instructor. The class account login names all start with cs and then the number of course. For example, CS 151 students get class accounts that begin with cs151 (e.g., cs151000, cs151001, ...). Note that the class accounts are deleted at the end of each semester. If you are a CS major and would like a permanent account on the CS server you can ask your instructor.
+
If your class makes use of the CS server, you will be given a "class account". These class accounts allow you to login to the CS server remotely and login to the computers in the CS lab and classroom (Root Hall, A-015, A-017, A-019). The class accounts will be given to you by your instructor. The class account login names all start with cs and then the number of course. For example, CS 151 students get class accounts that begin with cs151 (e.g., cs151000, cs151001, ...). '''Note that the class accounts are deleted at the end of each semester, so you need to backup your files at the end of the semester (transfer the files to your home computer). If you are a CS major and would like a permanent account on the CS server you can ask the [http://cs.indstate.edu/info/contact.html CS lab/server coordinator].'''
  
For courses using the CS server, you are encouraged to do your programming while logged into the server (e.g., using Putty from Windows, or another terminal client if using another OS). You should use the same program to compile/run your code that the instructor uses, so you are sure it will function properly when your instructor grades your code.
+
For courses using the CS server, you are encouraged to do your programming while logged into the server (e.g., using Putty from Windows, or another terminal client if using another OS). You should use the same program to compile/run your code that the instructor uses, so you are sure it will function properly when your instructor grades your code.  For more, see [[Linux and CS Systems - Getting Started]].
  
== Using Linux and Logging into CS Systems==
+
== CS Account Policies ==
See the [[Linux and CS Systems Bootcamp]] for getting started in Linux - getting software setup on your personal computer, basic commands to use, text editors, etc.
+
=== Prohibitions ===
 +
For any accounts that you have on the CS server (whether class accounts or permanent accounts), you should follow all ISU policies.  In particular the following are prohibited -  
 +
* using your account to store or distribute anything that is against its terms/copyright/etc. (e.g., no movies, textbooks, answers to HW problems)
 +
* using your account to do anything that is illegal
 +
* using a password that is too easy to guess (i.e., a password cracker that we run finds your password)
 +
* overloading the CPU or GPU of the system, or filling up any of the system drives
 +
* anything that is along these lines that we have not thought to state explicitly
 +
A violation of any of these will result in your account being locked and no longer being allowed to have an account on the systems.
  
== Programming Languages ==
+
=== Inactivity ===
Many of the CS courses use C and C++. If you are a new graduate student or a transfer student, you should get started by making sure you can connect to the CS server with Putty or another terminal program. Once you can connect, you should familiarize yourself with linux shell commands (see the Unix/Linux Quick Reference Card linked above). You should also learn to use one of the text editors mentioned above.
+
Accounts that are not used for a period of 6 months will likely be locked as a security precaution. You can write to root@cs.indstate.edu to ask to have your account unlocked again.
  
For CS courses that use C and C++, the gcc and g++ compilers are normally used. These are already installed on the CS server. If you have a C or C++ program, you compile it by first logging into the CS server using Putty or another terminal program and typing
+
== Using Linux and Logging into CS Systems==
 
+
See the [[Linux and CS Systems - Getting Started]] for getting started in Linux - getting software setup on your personal computer, basic commands to use, text editors, logging into the CS systems, etc.
<blockquote><code>gcc code.c -o outputName</code></blockquote>
 
 
 
for C, or g++ for c++. You run the resulting program by typing ./outputName (and then enter/return) at the shell prompt (aka command line). You should make sure your C/C++ programs compile and run using gcc/g++. Note that programs made using MS Visual Studio or some other compiler will normally not work straight away with gcc/g++ because there are some differences in which functions are included in the header files.
 
 
 
=== Tutorials and Reference ===
 
For a review of C and C++, you can look at various tutorials and references online and courses from other universities that teach these languages. The following is a list of resources we have used in the past; there are many others online as well.
 
 
 
* [http://publications.gbdirect.co.uk/c_book The C Book]
 
* [http://markburgess.org/CTutorial/C-Tut-4.02.pdf C Programming Tutorial]
 
* [http://fresh2refresh.com/c-tutorial-for-beginners/ Fresh2fresh C Tutorial]
 
* [http://en.wikibooks.org/wiki/C_Programming C Programming Wikibook]
 
* [http://www.greenteapress.com/thinkcppHow to Think Like a Computer Scientist C++ Version]
 
* [https://en.wikipedia.org/wiki/The_C_Programming_Language The C Programming Language by Kernighan and Ritchie]
 
* [http://www.cplusplus.com/ cplusplus.com]
 
* [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-practical-programming-in-c-january-iap-2010/ MIT course - Practical Programming in C]
 
* [http://www.cs.cornell.edu/courses/cs2022/2011sp/ Introduction to C - course at Cornell]
 
 
 
=== Practice Programming Problems ===
 
To practice C/C++ programming, first start by following a tutorial and writing the programs the tutorial shows you. Once you are reasonably familiar with all the syntax rules, start trying "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.
 
 
 
* [http://www.hackerrank.com/ Hacker Rank] - very user-friendly, different programming languages available, different categories of questions
 
* [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.
 

Revision as of 23:25, 22 June 2022

This section contains information for CS majors to help get you started with logging into the CS server and do the sorts of programming that goes on in most of the CS courses

Operating System and Class Accounts

Many of the CS courses make use of the CS server, which runs Linux. For courses that use the CS server, your programming assignments will be compiled and run on the CS server.

If your class makes use of the CS server, you will be given a "class account". These class accounts allow you to login to the CS server remotely and login to the computers in the CS lab and classroom (Root Hall, A-015, A-017, A-019). The class accounts will be given to you by your instructor. The class account login names all start with cs and then the number of course. For example, CS 151 students get class accounts that begin with cs151 (e.g., cs151000, cs151001, ...). Note that the class accounts are deleted at the end of each semester, so you need to backup your files at the end of the semester (transfer the files to your home computer). If you are a CS major and would like a permanent account on the CS server you can ask the CS lab/server coordinator.

For courses using the CS server, you are encouraged to do your programming while logged into the server (e.g., using Putty from Windows, or another terminal client if using another OS). You should use the same program to compile/run your code that the instructor uses, so you are sure it will function properly when your instructor grades your code. For more, see Linux and CS Systems - Getting Started.

CS Account Policies

Prohibitions

For any accounts that you have on the CS server (whether class accounts or permanent accounts), you should follow all ISU policies. In particular the following are prohibited -

  • using your account to store or distribute anything that is against its terms/copyright/etc. (e.g., no movies, textbooks, answers to HW problems)
  • using your account to do anything that is illegal
  • using a password that is too easy to guess (i.e., a password cracker that we run finds your password)
  • overloading the CPU or GPU of the system, or filling up any of the system drives
  • anything that is along these lines that we have not thought to state explicitly

A violation of any of these will result in your account being locked and no longer being allowed to have an account on the systems.

Inactivity

Accounts that are not used for a period of 6 months will likely be locked as a security precaution. You can write to root@cs.indstate.edu to ask to have your account unlocked again.

Using Linux and Logging into CS Systems

See the Linux and CS Systems - Getting Started for getting started in Linux - getting software setup on your personal computer, basic commands to use, text editors, logging into the CS systems, etc.