There are three main ways you can write code from your own computer:
If you don't have much experience and will have an internet connection avaiable, we recommend you start out with Connecting to CSE from Windows.
If you won't have an internet connection available and want to try working directly on your own computer, have a look at Writing + Compiling code on Windows.
If you're going well and want a challenge, have a go at Trying Linux on your Windows computer.
You have two options to connect to CSE from your personal computer:
ssh: connect to a CSE terminal & scp: transfer files to/from CSE
putty.exe. PuTTY will allow you to login remotely to CSE's servers and run command line programs
such as gcc.
Install Xming. Xming will allow you to run from home graphical (X windows) programs on CSE's servers such as gedit.
Configure PuTTY and Xming as described here: Logging in with ssh.
Make sure you can:
gedit example.c &and see if the window appears on your home machine
The combination of PuTTY & Xming should be sufficient to perform all work required for this course.
If you get a message "
Error: Can't open display:" when you try to run gedit
that means Xming isn't running or you haven't enabled X11 Forwarding in PuTTY (scroll down to section 3.1: From Windows).
It can be helpful to be able to create & edit files on your home machine. This will let you work without an internet connection - e.g. on a laptop on the train home. You can download gedit for Windows. Many other editors are available.
Many students use WinSCP to transfer files to/from CSE. Here is comprehensive HowTo.
PuTTY PSCP provides similar capabilities to PSCP.
Summary (all platforms) for remote access to files at CSE: here.
There are number of C compilers & development environment available for windows - all should be suitable to compile & test programs for this course.
TDM-gcc provides a very easy to install version of gcc. You can download it here.
Yet another way to compile programs on your personal computers is to install Cygwin and WinSCP. For Cygwin, you should start by installing just the base, devel and util packages. You can install more packages later, as you need them.
If you want more Linux features available, try run Linux on your computer.