S-Programming the iPhone&iPad

The iPad, iPhone, and iPod Touch present examples of a mobile processor with an interesting set of peripheral devices and limitations. They are programmed using Objective C and a large set of APIs. This seminar will be an introduction to the Objective C language and iOS development environment, and will include student programming assignments and development projects targeting the Apple iPhone/iPad simulator. We will spend much of the class time actually working through examples, and discovering how some of the features really work.

S-Computer Networking Lab

In this course, students will learn how to put "principles into practice," in a hands-on-networking lab course. The course will cover router, switches and end-system labs in the areas of Single Segment IP Networks, Multiple Segment IP Networks and Static Routing, Dynamic Routing Protocols (RIP, OSPF and BGP), LAN switching, Transport Layer Protocols: UDP and TCP, NAT, DHCP, DNS, and SNMP. Students will also get engaged in evaluating power consumption of network components as an aid in the design of energy efficient (green) networks.

Computer Networks

Introduction to computer communication networks and protocols. Fundamental concepts in the design and analysis of computer networks. Topics include: layered network architectures, applications, network, programming interfaces, transport, congestion, routing, data link protocols, local area networks, emerging high-speed networks, network management, and network security. Examples drawn from the Internet (e.g., TCP, UDP, and IP) protocol suite.

Search Engines

This course provides an overview of the important issues in information retrieval, and how those issues affect the design and implementation of search engines. The course emphasizes the technology used in Web search engines, and the information retrieval theories and concepts that underlie all search applications. Mathematical experience (as provided by CMPSCI 240) is required. You should also be able to program in Java (or some other closely related language).

Information Systems

Introduction to the efficient management of large-scale data. Principles for representing information in the relational model and semi-structured data models (XML, JSON); query languages for analyzing and manipulating data (SQL and others); core systems principles for data management (file organizations, query optimization, indexing, distributed data processing, concurrency control).

Formal Language Theory

Introduction to formal language theory. Topics include finite state languages, context-free languages, the relationship between language classes and formal machine models, the Turing Machine model of computation, theories of computability, resource-bounded models, and NP-completeness. It is recommended that students have a 'B-' or better in CMPSCI 311 in order to attempt CMPSCI 401.
Subscribe to