Courses

CSCI 10 - Introduction to Computing

Survey of computer science technologies and methods. Introduction to computer hardware and software, structured programming, operating system concepts, communications and social impacts of computer technology. Explore current and emerging topics such as the Internet, robotics, computer security and artificial intelligence.
Read more...

CSCI 12 - Introduction to Object-Oriented Programming

Introductory programming course emphasizing simple algorithms, sequence, selection, repetition, modularity, arrays, abstract data types, object-oriented design, classes, member functions, encapsulation, and basic file input/output.
Read more...

CSCI 13 - Intermediate Object-Oriented Programming

Intermediate programming course emphasizing object-oriented program design and implementation. Applying techniques for systematic problem analysis, program specification, design, coding testing, debugging and documentation of larger programs. Advanced language features: strings, text and non-text files, references. Managing program complexity using abstraction. Abstract data types: simple lists, stacks and queues. Introduction to algorithm analysis and Big-O notation. Recursive algorithms.
Read more...

CSCI 21 - Game Development Fundamentals

Survey of the history, technology, ethics, and design of computer games. Intended as a generally accessible course in which students learn about the creation of computer games including storyboards, character design, game play, animation and marketing. Students use these concepts to create a computer game of their own design. Programming experience not required.
Read more...

CSCI 26 - Discrete Structures for Computer Science

Introduction to the essential discrete structures used in Computer Science, with emphasis on their applications. Includes elementary formal logic and set theory, elementary combinatorics, recursive programming and algorithm analysis, Boolean Algebra, digital logic, combinatorial circuits, circuit design and minimization, and computer arithmetic.
Read more...

CSCI 27 - Visual Basic .NET Programming I

Introduction to methods and techniques of Visual Basic .NET programming. Includes coverage of user interface design, variables, decisions, menus, functions, object-oriented programming, looping, arrays, files, and graphics. Designed to bring students up to the necessary skill and knowledge level for an intermediate-level programming course.
Read more...

CSCI 39 - Assembly Language Programming

Assembly language programming techniques. Topics include addressing modes; pseudo operations; stack processing; subroutine linkage; arithmetic and logical operations; input and output. Programs are designed, coded, tested, and debugged.
Read more...

CSCI 46 - System Programming with C

Introduction to the C language and system programming on a Unix-like operating system. Topics include the standard C library, memory allocation, file I/O, permissions, system calls, and process management. Development in a Unix environment will cover editors, shell scripting, makefiles, source code control, and networking.
Read more...

CSCI 50 - Introduction to Unix/Linux

An introduction to the Unix and Linux operating systems with an emphasis on system programming. Topics include the filesystem, permissions, regular expressions, processes, networking, basic system administration, and shell scripting. Extensive hands-on experience using the command line interface.
Read more...

CSCI 52 - Introduction to SQL

Survey of SQL (Structured Query Language). Includes database models, database design, table and view definition, transaction and data manipulation, queries and reports, data integrity, stored procedures, triggers, recovery and security. Hands-on experience using a popular SQL database.
Read more...

CSCI 54 - Visual Basic .NET Programming II

Intermediate Visual Basic .NET programming. Includes coverage of multitier applications, database applications, databases using related tables, database updates, using Web forms, Web forms database & updates, XML Web services, and writing database reports using Crystal Reports.
Read more...

CSCI 55 - ASP.NET Programming

Intermediate Web programming course. Combines ASP (Active Server Pages) and Visual Basic .NET programming to create dynamic data-driven Web applications. Covers Web programming concepts including advanced topics of ADO and implementing security in ASP.
Read more...

CSCI 59P - PHP Programming

Create dynamic, session-oriented, data-driven web sites using the PHP scripting language. Covers processing fill-out forms, database backends, session management, authentication and searching.
Read more...

CSCI 59R - Ruby on Rails

Introduction to the Ruby object-oriented programming language and Rails web application framework. Using Ruby on Rails, web applications with tight database integration can be developed and deployed with speed and agility. This course covers the fundamentals of programming in Ruby as it pertains to using Rails. Other topics include: the Rails model/viewer/controller architecture, SQL database backends, using layouts, scaffolds, and session management.
Read more...

CSCI 62 - Web Programming I

Introduction to methods and techniques of Web programming. Includes coverage of HyperText Markup Language (HTML), Cascading Style Sheets (CSS), Extensible HyperText Markup Language (XHTML), and JavaScript. Designed to bring students up to the necessary skill and knowledge level for an intermediate Web programming course.
Read more...

CSCI 63 - Web Programming II

Intermediate Web programming course. Emphasizes Extensible HyperText Markup Language (XHTML) and JavaScript. Includes: animated Web pages; rollovers, menus, filters, and transitions; interactive windows/frames; form validation using regular expressions; shopping carts; and creating a dynamic table of contents.
Read more...

CSCI 65 - Networking Fundamentals

Installation and administration of Local Area Networks (LANS) and Wide Area Networks (WANS). Topics include: architectures, topologies, protocols, network operating systems, sharing network devices and software, network backup/recovery, diagnostics, and internetworking. Laboratory assignments focus on building and configuring LANs using Microsoft Server 2003 and 2000 Professional Operating Systems.
Read more...

CSCI 66 - Object-Oriented Programming Using C++

An introduction to the concepts of object-oriented programming and the application of the C++ language. Extensive programming practice using C++ as the vehicle toward modular, reusable object-oriented code.
Read more...

CSCI 68 - XML Programming

Intermediate Web course. Combines XML (Extensible Markup Language) and programming familiarity to create dynamic data-driven Web applications. Covers DTD (Document Type Definitions), CSS (Cascading Style Sheets), XSL (Extensible Style Sheets), and DOM (Document Object Model).
Read more...

CSCI 70 - Microcontroller Programming

Microcontroller programming techniques. Topics include microcontoller architecture, peripheral programming, high-level language interfacing and real-time control methodologies. Extensive practice writing microcontroller programs. Students are required to implement a substantial project.
Read more...

CSCI 76A - Game Programming I

Explore the algorithms, data structure, and techniques used to program computer video games. Emphasis on arcade-style video games (new and classic) written in Java. Topics include 2D animation, sprites, interaction, music, and sound. Underlying issues include graphical user interface programming, multi-threaded applications, realtime programming, use of sophisticated APIs, and societal impacts of computer gaming.
Read more...

CSCI 95 - Internship

Designed for advanced students to work in an area related to their educational or occupational goal. Internships may be in the areas of software engineers, system analysts, system programmers, web programmers and web server administrators. Provides new on-the-job technical training under the direction of a worksite supervisor allowing students to expand knowledge and skills in the chosen field.
Read more...