This guide will get you started Welcome to our world. Here are some things to help you with course choice.
Here is a decoder ring for the course numbering system. It also tells you about languges we teach.
| Course # | Course | Current Language |
|---|---|---|
| CSC402 | Intro to Procedural Programming | Python |
| CSC404 | Intermediate Programming | Java |
| CSC406 | Advanced Programming | Java |
| CSC410 | Data Structures I | Varies, now C |
| CSC412 | Data Structures II | Varies, now C |
| CSC414 | Data Structures III | Varies, now C |
| CSC408 | Elements of Computer Systems | Python/Java/C |
If you have never taken programming before... You should sign up for Introduction to Procedural Programming. The only prereqs for this is good algebra skill and point-and-click proficiency with a modern computer using a graphical interface (be able to save files, make folders, use a mouse, etc.). Even if you have never used a PC before, you can learn all you need in an an afternoon. The full description of this course can be found by looking at firstYear.php at the left.
The quick description of the intro course is as follows. You are introduced using LINUX. You will learn the basics of UNIX and learn enough HTML to write a simple web page. You will learn how to use the UNIX editor vi. Then you will turn your attention to coding in Python. You will be able to write code in a friendly environment with simple, straightforward syntax. Your Python skills can be applied in math and science classes. You will write a final project that is a simple working application.
You then go on to take intermediate programming.
We will do all of this in a LINUX environment. You will learn all the LINUX you need to know from scratch.
If you have had some prior programming... If you took the beginning class at NCSSM last year or if you have good programmming skills in a Turing-complete language, sign up for intermediate. You will have a chance to try your hand at event-driven programming while learning about inheritance and interfaces. This class will build your programming and problem-solving skill. If you took AP Computer Science at your old school, it is unlikely you learned about several of the important components of this class. It's a good place to start for most people who did well on the AP Computer Science Exam.
If you took programming elsewhere, see a CS faculty member so we can advise you on proper placement. Do not underestimate our introductory course. It's quite substantial, and you get to learn quite a bit about recursion and functional programming. If you feel confident and we think it's a good idea, we'll put you in intermediate directly.
If you took the AP and got a 4 or 5 Talk to us. You may still well enjoy CS 404 and 406; It's a safe bet you didn't learn about generics and programming with container classes. Ever write an iterator for a custom container class?
The AP exam does not cover the event-driven programming model we teach here in CSC 404 and which is indispensible to writing modern GUI applications. You will gain a deeper insight into Java and learn about searching and optimization algorithms and write some sophisticated projects that apply these ideas. You will definitely be in new territory in CS410, which uses the C language.