Teaching: Past & Present

Current Courses in Progress


CIS663 Advanced Systems Analysis and Design

This course focuses on the systems analysis and design techniques employed in the development of software applications. Topics include software process and process models including the Rational Unified Process (RUP), project management, structured and object oriented analysis, system design, quality systems including the Capability Maturity Model (CMM), Joint Application Design (JAD), system and software architecture, PLA, design patterns, re-use and component-based design, change control and configuration management. Analysis and design will be covered primarily from an object-oriented perspective. Students will read selected material from the literature, actively participate in discussions, labs and exercises in addition to participating in projects that involve analysis and design for real-world problems. We will spend a considerable amount of time interacting and learning through discussion of assigned readings and other material.

Past Courses Taught


80c American Indian Summer Institute In Computer Science (AISICS '97 and '98): Digital Presence, Personal and Organizational Electronic Communication Techniques and Norms

Our information-centered society has increased computer proficiency knowledge expectations regarding the Internet, Intranets, software tools, and general computer science concepts, which facilitates the development of a personal or organizational virtual presence. Students will develop a broad WWW-centered skill set to address these issues in this class. The curriculum includes creating a substantial web-site for yourself or a fictitious company.

CS2B Data Structures

This course reiterates basic concepts related to computer organization, software design, and construction. It develops initial design and programming skills. After that brief review, the course broadens and deepens your understanding of computer science in many ways: how to measure, analyze, compare, and talk about the efficiency of programs and algorithms; how to build and use more flexible data structures than arrays; and how to design more substantial programs by using different programming paradigms and information hiding techniques such as data abstraction.

Teacher Assistantships


The following list include the descriptions for classes I have taught under the direction of various Professors at UCI:


ICS 1A Programming and Problem Solving I

Concepts and properties of procedures; language and notation for describing procedures; application of a specific procedure-oriented language to solve simple numerical and nonnumerical problems using a computer. Principles for using computers effectively and for clearly conceiving and expressing procedures. Provides an overview of computer science. Designed for non-ICS majors. No credit allowed for ICS 1A after successful completion of ICS 21. ICS 1A and ICS 1P may not both be taken for credit.

ICS 1C Networked Information Discovery and Retrieval

Information resources and communication tools available over the Internet, with emphases on the organization of computer networks and the information they provide, developing effective strategies for search and retrieval, and the synthesis of information obtained from diverse sources.

ICS 52 Systematic Software Construction

Concepts and techniques of constructing software in a systematic fashion, including detailed design techniques, specifications, programming methods, quality-inducing procedures, development tools, team techniques, testing, estimation, and performance improvement. Laboratory work involves a project illustrating these elements. Prerequisite: ICS 23 with a grade of C or better.

ICS 131 Social Analysis of Computerization

Introduction of computerization as a social process. Examines the social opportunities and problems raised by new information technologies, and the consequences of different ways of organizing. Topics include computerization and work life, privacy, virtual communities, productivity paradox, systems risks. Prerequisites: one course selected from ICS 1A, Engineering 10, Engineering ECE11, ICS 21, or equivalent; upper-division standing; satisfactory completion of the lower-division writing requirement.

ICS 135 Project in the Social and Organizational Impacts of Computing

Students undertake projects intended to gather and analyze data from situations in which computers are used, organize and conduct experiments intended to test hypotheses about impacts, and explore the application of concepts learned in ICS 131, 132, and other ICS courses. Prerequisite: ICS 132. Prior course work in research methodology or statistics is recommended.

ICS 139 Technical Writing and Communication Skills

Study and practice of critical and technical writing as it applies to the field of computer science. Each student writes essays of varying lengths, totaling at least 4,000 words. Prerequisite: completion of lower-division writing requirement; upper-division standing; Information and Computer Science majors only.

Author: Robb Klashner
Title: Academically Related Experience
Last modified: 11/19/02
You can reach me by e-mail at: klashner@njit.edu