Algorithms

Covers algorithm design techniques ("divide-and-conquer," dynamic programming, "greedy" algorithms, etc.), analysis techniques (including big-O notation, recurrence relations), useful data structures (including heaps, search trees, adjacency lists), efficient algorithms for a variety of problems, and NP-completeness. Prerequisites: 212, MTH 111, MTH 153.

Computer Networks

This course introduces fundamental concepts in the design and implementation of computer communication networks, their protocols and applications. Topics covered include layered network architecture, physical layer and data link protocols; and transport protocols; routing protocols and applications. Most case studies are drawn from the Internet TCP/IP protocol suite. Prerequisites: CSC 111.

Microprocess&Assembly Lang

An introduction to the architecture of the Intel Pentium class processor and its assembly language in the Linux environment. Students write programs in assembly and explore the architectural features of the Pentium, including its use of the memory, the data formats used to represent information, the implementation of high-level language constructs, integer and floating-point arithmetic, and how the processor deals with I/O devices and interrupts. Prerequisite: 212 or permission of the instructor.

Intro to Software Engineering

Introduction to software engineering theory and methodologies, with an emphasis on rapid prototyping and development. This course is a survey of topics: requirements elicitation and specification; prototyping and infrastructure; basic project management; architecture and design patterns; and verification and testing. Students will work in teams on a significant design and development project. Prerequisite: CSC 212.

Adv Programming Techniq

Reinforces programming skills learned in previous programming courses through working on a number of projects. Offers practice for developing modular, reusable, maintainable code. Students will gain more experience with design and development. Prerequisite: 212.

Program w/ Data Structures

Explores elementary data structures (linked lists, stacks, queues, trees, graphs) and algorithms (searching, sorting) in a variety of contexts, including event-driven applications with a graphical user interface. Emphasizes object-oriented programming throughout, using the Java programming language. Prerequisite: CSC 111.

Program w/ Data Structures

Explores elementary data structures (linked lists, stacks, queues, trees, graphs) and algorithms (searching, sorting) in a variety of contexts, including event-driven applications with a graphical user interface. Emphasizes object-oriented programming throughout, using the Java programming language. Prerequisite: CSC 111.

Object Oriented Programming

This course emphasizes computational problem-solving using a typed object-oriented programming (OOP). Students will learn core computer science principles including: control flow, functions, classes, objects, methods, encapsulation and information-hiding, specification, recursion, debugging, unit testing, version control, using libraries and writing code in multiple files. Students will also learn and apply the model-view-controller (MVC) architecture, the basics of graphics and GUIs, working with external files and foundations of algorithm design.
Subscribe to