This page provides links to a number of different resources to our students may find helpful.  Almost all of them are links to other sites.  Please let us know if any link is now defective, or if there is a resource that you’ve found useful, let us know.

Java Programming

100px-Java_logo_and_wordmarkJava was developed by James Gosling of Sun Microsystems and first released in 1995.  It is an Object-Oriented, Concurrent, Write-Once-Run-Anywhere Interpreted language that is widely used throughout industry and academia.  It is found in tiny embedded systems (Java ME) such as smart-cards all the way up through large enterprise information systems.

Java is used in CSC110, CSC210, CSC310, CMPE320, and is used by many of our upper division courses. For SoE classes, please use the downloads located on the Pre-Configured Software page to ensure project compatibility with the machines in the computer labs.

Java as an application language:

Java as a web programming language:

Java Development Tools

There are many different tools to develop Java code, our department has settled on using Eclipse. (For SoE classes, please use the version available on the Pre-Configured Software page.)

C / C++ Language

Released in 1972 by Brian Kernighan and Dennis Ritchie of AT&T Bell Labs to develop their new (at the time) UNIX OS, the C language has remained one of the most important programming languages.  Later, Bjarne Stroustroup extended C to support object-oriented programming.  Unlike Java, which is owned and developed by Oracle (who purchased Sun), C is largely developed by the “community,” and lacks the central authority of Oracle.

Courses: CSC111, CMPE220, CMPE320, CMPE322, CMPE410, CMPE420

Python Language

Released in 1991 by Guido van Rossum, python was developed as a new scripting language targeting Unix and C hackers.  It has since grown into a general purpose programming language which supports procedural, functional and object-oriented programming archetypes. As of 2019, it is now the third most popular programming language behind Java and C according to the Tiobe Index.

Courses: CSC104

Assembly Language

Assembly is the symbolic form of machine language, and is specific to it particular architecture.  The department uses two main versions of assembly, the MIPS R4000 variant used in Comp Org, and the MIPS R4000 variant used in the PIC32 architecture.

Courses: CMPE220, CMPE320, CMPE322, CMPE420

UNIX / Linux Tutorial

TuxSince its first release in 1969, UNIX morphed into various derivatives that include Linux, OSX, iOS, and Android,  and is one of the most widely deployed operating systems in the world.  In fact, since Linux has been ported to embedded systems, many devices in Windows computers actually run Linux!

Courses: Almost all.

Not Strictly Required,  but….