300

CSIT 300 Internship

Participation in an approved professional experience in the area of computer science. Students must submit a proposal describing the work experience, its relationship to subject matter in computer science, and how it will be monitored and evaluated. Permission of the department required.

1-12

CSIT 305 Computer Laboratory Assistantship

Non-credit course for students interested in performing computer-related services for the Computer and Information Sciences program. Duties include: proctoring in computing laboratories; assisting with the labs in CSIT 121 or CSIT 221; helping the faculty director and/or systems manager with basic laboratory maintenance. Grading is on an S/U basis. Permission of the department required.

0

CSIT 307 Web Development with Ruby on Rails

Web Development with Ruby on Rails is a thorough introduction to the language Ruby and the environment Rails, emphasizing rapid prototyping and iterative development. The course includes a comprehensive project including the design and implementation of a web-based software product based on predefined specifications.

3

Prerequisites

CSIT 205 or CSIT 207 or CSIT 221

CSIT 311 Assembly Language and Computer Organizations

Introduction to the basic concepts of computer organization, digital logic, data representation, and machine instructions repertoire; memory access and storage; instruction execution; assembly language; computer organization; levels of computer structures; data representation and transfer; digital arithmetic; memory structure and addressing methods; cache; secondary memory structure and organization.

3

Prerequisites

CSIT 121

CSIT 312 Computer Structures

Introduction to basic concepts of computer system and architecture; internal and external memories, I/O and operating system support; instruction execution; computer structure, organization and function; digital arithmetic; memory structure and addressing methods; cache; secondary memory structure and organization; system software structure; purpose and functions of system programs; file systems; process and resource management. For Computer Information Systems majors; Computer Science majors may not count this course to meet major requirements.

3

Prerequisites

CSIT 105 or CSIT 121

CSIT 316 Introduction to Human-Computer Interaction

The course introduces techniques, ideas, and models involved in designing, implementing, and evaluating interactive technologies for human use. It explores principles of design and usability, with an emphasis on the human-side of interaction. Accordingly, in addition to human and computing factors, the role of task (goals) and context are highlighted as key to understanding interaction phenomena at the individual, group, organizational, and societal levels. These include issues related to internationalization, such as cultural, ethical, and social aspects of interaction. Students will learn how to gather requirements, to design usable interfaces, and both implementation and evaluation processes. They will gain hands-on experience with contemporary interaction design techniques, and will have the opportunity to analyze and critique various computing interfaces including web sites, computer systems, video games, mobile devices, and more.

3

Prerequisites

CSIT 121 or CSIT 151

CSIT 321 Paradigms of Programming Languages

Brief history of programming languages; language design issues; syntax and translation; data types; sequence control; the procedural paradigm; the object-oriented paradigm; the functional paradigm; the logical paradigm.

3

Prerequisites

CSIT 224

CSIT 333 Mobile Applications Development

This course introduces system development for the Android, iPhone or Windows mobile operating systems from both the practical software implementation and the theoretical software design perspectives. Topics covered include: Overview of mobile systems development, scope of mobile software, mobile development environments, user interface design, receivers/alerts and services coordination, hardware interaction, multimedia integration, and networking/location-based services utilization.

3

Prerequisites

CSIT 205 or CSIT 221

CSIT 335 Data Communication and Networks I

Computer networking overview; OSI model and network layers; Ethernet and other local area network technologies; routing and data flow control; point-to-point, broadcasting, local and wide area networks; internetworking; modern network management protocols; network administration. Some programming assignments and practical work may be assigned to gain understanding of the network protocols.

3

Prerequisites

CSIT 205 or CSIT 221

CSIT 341 Data Structures

Review of basic data structures and algorithmic complexities; recursion; topological order; Sorting and searching; Huffman codes; tries; binary trees; binary search trees; tree traversals; general trees, heaps, balanced trees; priority queues; hashing; graphs, graph algorithms.

3

Prerequisites

CSIT 205 or CSIT 221

CSIT 351 Business Systems Development

Review of business programming language principles and techniques; interfacing with computing environment; sorting, table handling, indexing and searching; preparation and handling of data; file organization, and file update; business system analysis, design and implementation; introduction to business information systems.

3

Prerequisites

CSIT 205 or CSIT 251

CSIT 390 Directed Study

An intensive project-oriented course utilizing emerging technologies. Departmental approval is required.

1-3