|
Computer Technology and Applications
The Courses
- Course days and times are subject to change at any time prior to the beginning
of the term. Select here
for a current course schedule. CTA courses are listed under "Computing Systems (Continuing Education)."
- The computer technology field is evolving constantly. The curriculum specified
on this Web site is subject to change without notice depending on conditions
in the industry.
- The following curriculum is effective for students entering their first
term of study in fall 2000 or later.
- Please contact the CTA Office at [email protected]
or (212) 854-2820 if you have any questions or concerns about this curriculum.
View
Courses Within Program Tracks
Key to Track Abbreviations
PROG: C++ and Java: Programming and Software Development
DADD: Database Application Development and Design
NAAD: Network Administration and Design
ADIS: Analysis and Design of Information Systems
ECOM: Software Development for E-Commerce
Course Descriptions
QC1101. Introduction to Programming with C/C++
A thorough introduction to programming constructs and C/C++ syntax, with
an emphasis on C++. C/C++ language vocabulary, fundamental algorithms, program
development, analysis, and design. C datatypes, operators, functions, expressions,
aggregate datatypes, control flow, the use of standard library routines,
debugging techniques, I/O, pointers, pointer arithmetic, pointers to functions,
and memory allocation. ANSI-standard C/C++ is discussed throughout the course.
Emphasis on structured design, program readability, and procedural problem
solving.
Track: PROG.
QC1103. Object-Oriented Programming and Software Architecture
The course consists of 2 distinct parts: Introduction to
System Architecture, and Introduction to Object Oriented Analysis
& Design (OOAD). The system architecture portion provides a
survey of computer-based hardware architecture and operating
systems, with presentation geared towards those topics most
relevant to the programmer. The OOAD portion provides a comprehensive
overview and exploration of the object oriented paradigm. Students
will learn to develop and use the following primary elements
of UML (Unified Modeling Language, now the industry standard):
use case diagrams, sequence diagrams, class diagrams, and state
transition diagrams. Other OOAD methodologies, including CRC
Cards, will also be presented, providing the student with a
well-rounded set of analysis and design approaches. Work in
the course includes actual modeling of several systems, with
the student work individually and in a group setting. Other
topics include software development lifecycle, testing, COM/DCOM,
and CORBA.
Track: PROG.
QC1201. Data Structures and Object Design
Continuation of the study of C/C++ programming. A full range
of programming constructs is presented, with particular emphasis
on reusability, portability, data structures and algorithms
for manipulating them. Stacks, queues, linked lists, binary
trees, and other practical-use structures are discussed and
implemented. ANSI-standard C/C++ is discussed throughout the
course.
Track: PROG.
QC1301. UNIX for C/C++ Programmers
A comprehensive overview of the UNIX environment with particular emphasis
on application development tools for C/C++ programmers. The evolution of
UNIX and the differences among major implementations such as Solaris, Linux,
and FreeBSD. Participants acquire working familiarity with end-user features
such as session initiation, file management, mail, and on-line documentation.
The focus of the course is on the use of the C/C++ compilers and system
toolbox.
Track: PROG.
QC1302. GUI and C/C++ Applications
An introduction to graphic user interfaces (GUIs), covering the theory and
practice of event-driven windowing interfaces. Techniques for exploiting
the capabilities of the GUIs now having dominance in the market. Exercises
in the use of the API of Microsoft Windows. Assigned projects include device
handling, icons, resource management, menus, and bit-mapped graphics. Applications
of these techniques to other GUIs such as the Java AWT (Abstract Window
Toolkit), X Window System, and the Macintosh interface are discussed and
contrasted.
Track: PROG.
QC1303. Advanced Object-Oriented Programming
Object-oriented programs provide features that reduce the cost of development and are easier to modify and maintain. Students learn
the basic principles of object-oriented programming as well as the syntax and use of C++ as an object-oriented language. Some of the
topics discussed are C versus C++, object-oriented programs, improving reusability, new features of C++ versus C, classes, call and return
by reference versus value, friend functions, overloaded functions and operators, derived classes and inheritance, constructors and
destructors, templates, and the Standard C++ Library. This course requires an advanced knowledge of the ANSI C language.
Track: PROG.
QC1401. Application Development Lab in C/C++
Students select, propose, design, analyze, and program a complete application
using C/C++ in the Windows environment. Topics include application design
and analysis, user interface design, object use and inheritance, Microsoft's
MFC (Microsoft Foundation Class), The C++ STL (Standard Template Library),
and database design and access. Students choose application projects with
instructor's permission and review. Current technologies such as COM, DCOM,
CORBA, are discussed. The student is left with full-cycle project experience,
as well as a "portfolio piece", demonstrating their abilities. This course
requires a knowledge of GUI programming.
Track: PROG.
QC1404. Advanced Graphic User Interface and C++ Applications
An in depth look at a systems-level approach for software development under
the Microsoft Windows environment. Topics include how to create, implement
and exploit the most current technologies such as the Internet, ActiveX
controls, OLE Automation, COM/DCOM, and a variety of dedicated APIs such
as the MAPI (e-mail). An emphasis is placed on the technologies that make
reusable components, by both creating and using those components.
Track: PROG.
QC1405. Application Development Lab in Java
QC1510. Java for C++ Programmers
"Java for C++ Programmers" provides a working knowledge to the Java programming
language and the new opportunities it represents for Intranet/Internet developers
with its powerful "write once, run everywhere" philosophy. Java language features
will be compared to those in C++. Students learn the fundamentals of Java ,
its run-time environment, the "core" Java classes, the most recent
enhancements to the language in the Sun Java Development Kit (JDK) 1.1/1.2,
including the JavaBeans component model, Swing interface classes, database connectivity
through JDBC and servlets. Other recent advances, such as the Microsoft Windows
Foundations Classes (WFC), will also be introduced.
Track: PROG.
QC2101. Object and Structured Analysis
A comprehensive exploration of the System Development Life Cycle (SDLC) and the concepts, strategies and methodologies used in structured systems analysis and design. Throughout the course, students use various modeling tools, analysis techniques and Computer-Aided Software Engineering (CASE) tools to develop data flow diagrams, data dictionaries, entity relationship diagrams and process specifications for assigned case studies. Other topics include: interviewing techniques; prototyping; installation; testing; training; maintenance; object-oriented approaches to analysis; the role of CASE tools in the SDLC. Prerequisite: none.
Track: DADD, ADIS.
QC2102. Introduction to SQL and the Oracle Database Server
One focus of this course is a thorough introduction to the industry-standard Structured Query Language (SQL) and its use as a data access and manipulation language for relational databases--specifically, the Oracle database system. Students will apply SQL concepts by developing statements to access data in a sample database and define data structures. The other focus of the course is the database server (RDBMS) itself and how the developer uses
it to produce efficient applications on the client side. To this end, the
students further their experience with SQL by exploring Oracle database
architecture through regular exercises in querying the Oracle data dictionary. Prerequisite: none.
Track: DADD.
QC2203. Embedded SQL and PL/SQL
This course emphasizes programming using Structured Query Language (SQL) within
another structured procedural language, specifically Oracle Corporation's extension
to SQLthe PL/SQL language. Students will be introduced to the practical
application of calling SQL within a "host" language including structured programming
constructs and object-like capabilities. Topics discussed will prepare the student
for work in the third- and fourth-term PL/SQL application-oriented classes as
well as for work in typical real-world database development environments: stored
procedures and functions; packages; standard server packages; database triggers;
code partitioning. This course is intended for students who elect to pursue
the PL/SQL or the Java fork of the DADD track. Prerequisite: SQL
(QC2102).
Track: DADD.
QC2204. Database Specification and Design
A comprehensive approach to the development of full-scale relational database
systems for all hardware platforms and the wide range of data modeling techniques
available to system designers today. Work in this course consists of developing
a complete set of design documentation for a case-study which the student
chooses. Other topics discussed are: entity relationship diagramming; the
data catalog; data integrity; the use of normalization to eliminate data
redundancy; the relational database model; object-oriented database design
techniques; denormalization; physical database design. Prerequisite:
System Development/Structured Analysis.
Track: DADD, ADIS.
QC2205. Embedded SQL and Java
This course emphasizes programming using Structured Query Language (SQL) within
a structured procedural language, specifically Java. Students will be introduced
to the Java programming language and the practical application of calling SQL
within a "host" language. Topics include structured and object oriented concepts
and constructs, and database connectivity. This course will serve as a preparatory
class to the third and fourth semester Java application oriented courses. This
course is intended for students who elect to pursue the PL/SQL or the Java fork
of the DADD track. Prerequisite: SQL (QC2102).
Track: DADD.
QC2300. Application Design Lab: PL/SQL
This class acts as a bridge between the Database Specification and Design class
and the Application Development Labs. In Database Specification and Design,
the student created a logical data model in support of their final project's
application. Here, the student transforms the logical into a physical model,
writes necessary DDL to produce the schema and implements processes identified
in the Database Specification and Design class as Packages, Functions and Procedures
using Oracle's PL/SQL. This work moves with the student and becomes part of
their final project. In addition, the student learns techniques specific to
Oracle to assist in common tasks such as loading data and SQL tuning. Prerequisite:
Embedded SQL and PL/SQL (QC2203); Database
Specification and Design (QC2204).
Track: DADD.
QC2301. Application Design Lab: Java
This class acts as a bridge between the Database Specification and Design class
and the Application Development Labs. In Database Specification and Design,
the student created a logical data model and other specifications in support
of their final project application. Here, the student transforms the logical
into a physical model, writes necessary DDL to produce the schema and implements
processes identified in the Database Specification and Design class as stored
Java code the Oracle database. This work moves with the student and becomes
part of their final project. In addition, the student learns techniques specific
to Oracle to assist in common tasks such as loading data and SQL tuning. Prerequisite:
Embedded SQL and Java (QC2205); Database
Specification and Design (QC2204).
QC2304. Introduction to Oracle Developer
This course presents a practical overview of the current Oracle software used
to create user-interface programs for relational database systems. The course
explores the Fourth Generation Language environment provided by Oracle for implementing
database client/server applications focusing on the screen and report development
tools Oracle Forms and Oracle Reports. Students will practice topics from the
lectures by developing a working application that manipulates a sample database.
Other subjects are: Oracle Developer's implementation of object-orientation,
inheritance and encapsulation; generic coding strategies; and connectivity issues.
Prerequisite: Embedded SQL and PL/SQL (QC2203).
Track: DADD.
QC2307. Introduction to Oracle JDeveloper
This course presents a practical overview of Oracle's AppBuilder Suite used
to create user-interface programs for relational database systems. The course
explores the AppBuilder IDE including its several wizards. Students will practice
topics from the lectures by developing a working application, which manipulates
a sample database; other subjects are: object-orientation; inheritance and encapsulation;
generic coding strategies; and network software requirements. Prerequisite:
Embedded SQL and Java (QC2205).
Track: DADD.
QC2400. Application Development Lab: Oracle Developer
An intensive experience in the programming of a complete client/server relational
database application for a business environment using design documentation and
development skills acquired in previous courses. Advanced techniques and strategies
for using development tools in a real production environment are explored and
individual assistance is provided as students progress toward delivery of the
full system. Other topics discussed are: program specifications; prototyping;
code partitioning; program templates; and code sharing. Prerequisites: Application
Design Lab: PL/SQL (QC2300); Introduction to Oracle Developer
(QC2304).
Track: DADD.
QC2404. Application Development Lab: JDeveloper
An intensive experience in the programming of a complete client/server relational
database application for a business environment using design documentation and
development skills acquired in previous courses. Advanced techniques and strategies
for using development tools in a real production environment are explored and
individual assistance is provided as students progress toward delivery of the
full system. Other topics discussed are: program specifications; prototyping;
code partitioning; program templates; and code sharing. Prerequisites: Application
Design Lab: Java (QC2301); Introduction
to Oracle JDeveloper (QC2307).
QC2502. Oracle Case Tools: Oracle Designer
This course fully explores the Oracle suite of Computer-Aided Software Engineering
products (Oracle Designer) using a case study that demonstrates each aspect
of data modeling including Business Process Re-engineering and Process Modeling.
It introduces all major logical and physical diagrammers and utilities provided
for all phases in the software development life cycle including the design modelers
and generators for server code, Oracle forms, Oracle reports WebServer, and
Visual Basic applications. Other topics will be: Forms templates, Repository
Administration, Generator Preferences, cross-checking the design and use of
the Repository Object Navigator to manipulate application meta-data. Prerequisites:
PL/SQL (QC2203), Database Design/Spec (QC2204);
and Oracle Developer (QC2304) or JDeveloper
(QC2307) Tools course.
Track: DADD.
QC2504. Data Warehousing in the Oracle Server Environment
This course uses lecture and hands-on work to give a full overview of the
technology and strategies involved with building data warehouses. One key topic
is how to fulfill the need for aggregated data in online analytical processing
(OLAP) to provide the basis for decision support systems (DSS). Other topics
include: drill-across and drill-down access to data; multidimensional, star-schema
and data mining concepts; data loading; programming for the data warehouse using
PL/SQL; and DSS front-end needs using Oracle's user-interface tools. Prerequisite:
Embedded SQL and PL/SQL (QC2203), Database
Specification and Design (QC2204).
QC2506. Introduction to Oracle Database Administration
This course provides an overview of the most common tasks performed by and responsibilities
assigned to an Oracle database administrator. This encompasses topics such as
database security, connectivity, database/data integrity, data storage, stored
PL/SQL, database availability (backup and recovery), database performance. The
course will be part lecture and part hands-on. It focuses on many of the issues
tested in the Oracle DBA Certification Exam and assists in preparation for students
to take and pass this industry-recognized exam. Prerequisite: SQL
(QC2102).
Track: DADD.
QC5100. Introduction to Networking Technology
An in depth
overview of LANs, MANs, WANs, and GANs, exploring hardware and
software issues. System hardware, media and cabling, network
topologies, media access methods (Ethernet, Token-Ring, and others),
network operating system concepts, peer-to-peer and client-server architectures.
Track: NAAD.
QC5201. Network Protocols and Architectures
The functionality and structure of the software that governs computer
communication across networks, focusing on local area networks. Introduction to
wide area protocols. Topics include Ethernet; token ring; RS232; IEEE 802
protocols; SNAP; X.25; TCP/IP; NetBios; network routing strategies such as
static, dynamic and source routing; and congestion control issues. The ISO Open
Systems Interconnection reference model is presented as a frame of reference
for internetworking issue discussions.
Track: NAAD.
QC5203. Introduction to Windows NT Administration-Workstation
In-depth coverage of Microsoft's Windows NT environment. Windows NT
architecture, including multiple threads, multiple processes, multiple users,
and symmetrical multiprocess(oring); the paging and scheduling subsystems and
the NT environment; the NT file
systems: FAT, HPFS, NTFS, and CDFS; installing, configuring, and maintaining
the Windows NT Workstation and monitoring the boot process; establishing NT
security; NT printing and system backups; executing 16- and 32-bit MS Windows
applications; executing DOS, OS/2, and POSIX applications; interoperating with
other supported networks; and troubleshooting strategies and selected
utilities. Prerequisites: successful completion of QC5100 and a strong
command of MS DOS; or permission of the instructor.
Track: NAAD.
QC5300. Cases in Network Design
Survey of several network designs and different types of networks in operation.
Requirement analysis, the logical design process, the physical design process,
client server vs. historical networks, and an introduction to enterprise
concepts. Students solve specific problems and research and design their own
network.
Track: NAAD.
QC5303. Advanced Windows NT Server Administration
Installing, configuring, and supporting the NT server operating system in LAN
and WAN environments; upgrading the Windows NT Server from earlier versions of
NT, OS/2, and Netware; browsing for network resources; creating and managing
user and group resources; establishing trust relationships; utilizing NT's
remote access service; implementing the four domain models using domain
management utilities; establishing system-fault tolerance features; utilizing
disk mirroring and stripping and other levels of RAID to insure data integrity;
implementing directory replication between servers; internetworking NT with
DNS, the hosts file, and IP routing; implementing TCP/IP services; integrating
Novell Netware with NT server using Gateway Services for Netware; optimizing NT
server performance with MS SNMP; and NT troubleshooting techniques.
Prerequisites: QC5203
and a strong command of MS DOS
or instructor's permission.
Track: NAAD.
QC5403. Internet and Web Server Development Using Windows NT
Using the Microsoft Internet
Information Server running on NT Server, students will learn to
design and build an Internet/Intranet presence. Topics include
creating and implementing a security site plan, security tools and
firewall construction, filtering firewall hosts, dual protocol stack
firewalls, installing and configuring the Internet Information
Server, establishing Internet names and addresses, selecting an
Internet service provider, determining what Internet services are
appropriate, and troubleshooting an Internet Information Server
installation, examining and implementing HTML, HTTP, CGI, FTP and GOPHER services.
Track: NAAD.
QC5405 UNIX Administration and Integration
This course covers basic and extended topics needed for a successful administration
on a UNIX platform, presented in a comprehensive and pragmatic way. It offers
a sufficient knowledge and skills to perform successfully most of administration
tasks on a networked UNIX computer system, providing a number of real-life examples.
Topics include: UNIX systems and networks overview; system startup and shutdown;
UNIX filesystems; user accounts management; UNIX kernels configuration; UNIX
security; peripherals handling; UNIX backup and restore; basic network administration;
domain name service; network information service - NIS; network filesystems
- NFS, e-mail, X windows, and a number of other network applications.
Prerequisite: QC6100, Intensive Introduction to UNIX.
Track: NAAD.
QC5504. Network Design Development Lab
The network design development lab guides students through the actual analysis
and design of a comprehensive network infrastructure. Fourth-term students will
build upon their experience in prior courses to develop a network solution that
demonstrates their knowledge of UNIX, Windows NT, Internet/Intranet, and communications.
The project requires submission of a proposal based on the requirements to be
presented by the instructor. The final submission will include fhe following
deliverables:
1. Executive Overview
2. Specific Requirements of the Network
3. Hardware Analysis and Cost Breakdown of Equipment and Software
4. Comprehensive Network Design Showing all Network Components
5. Fail Over Capabilities of the Network
6. Performance Indicators and Scaling Factors
Track: NAAD.
QC6100. Intensive Introduction to UNIX
A comprehensive introduction to the UNIX operating system. UNIX system access, navigating the UNIX file system, controlling file access, UNIX environmental variables, redirection and pipelining, introductory shell programming, basic utility commands and tools, vi and emacs editors, UNIX filters, printing file and directory content, and customizing the Bourne, C, and Korn shells.
Track: NAAD.
QC6202. UNIX System Administration
This course covers basic and extended topics needed for a successful administration
on a UNIX platform, presented in a comprehensive, and pragmatic way. It
offers a sufficient knowledge and skills to perform successfully most of
administration tasks on a networked UNIX computer system. The course provides
a number of real-life examples. Topics include: UNIX systems and networks
overview; system startup and shutdown; UNIX filesystems; user accounts management;
UNIX kernels configuration; UNIX security; peripherals handling; UNIX backup
and restore; basic network administration; domain name service; network
information service - NIS; network filesystems - NFS, e-mail, X
windows, and a number of other network applications. Prerequisite: QC6100.
Intensive Introduction to UNIX.
Track: NAAD.
QC7101. Computer Hardware and Software
A thorough survey of computer-based hardware architecture and its related operating systems, from the earliest to the latest versions. Hardware capabilities and features; system configuration; file and memory management; security; LANs and WANs; MS Windows, Windows 95, UNIX, OS/2, and Windows NT; data structures; logic and algorithms; and compiler design. Please note: RDSD students will attend track-specific breakout sessions during the second half of this course to learn and practice structured programming for database applications.
Track: ADIS.
QC7103. Introduction to Graphic User Interface Design
This class acts as a bridge between the Database Specification and Design class and the Application Development Labs. In Data Specification and Design, the student created a logical data model in support of their final project's application. Here, the student transforms the logical into a physical model, writes necessary DDL to produce the schema and implements processes identified in the Database Specification and Design class as Packages, Functions and Procedures using Oracle's PL/SQL. This work moves with the student and becomes part of their final project. In addition, the student learns techniques specific to Oracle to assist in commom tasks such as loading data and SQL tuning. Prerequisite: QC2102
Track: ADIS.
QC7302. Communications and Networking
Students are provided with a thorough understanding of the role of
communications and networking in today's IS environment. Voice and data
transmission alternatives, large scale communication networks design, video
conferencing, and e-mail. Includes a six-week intensive lab focused on
the role of the Internet in the IS world.
Track: ADIS.
QC7303. Web, Internet, and E-Commerce
This course focuses on the analysis, design, and management of Internet
Technology in today s businesses and organizations. Topics include issues
surrounding the techniques of using Web and Internet applications and its
impact on the desktop PC, database and application servers, existing legacy
systems, and electronic commerce transactions. Students will gain familiarity
with web technology, business models, application tools, analysis methods,
and network and communication design strategy. An emphasis is placed on
the daily Web & Internet activities that are necessary to effectively manage
projects, information technology organizations and complex communications
systems, including electronic commerce operations. Prerequisites: QC7101.
Computer Hardware and Software, QC7302. Communications and Networking.
Track: ADIS.
QC7401. Information Systems Development Lab
Students develop a corporate case study for which they must provide a
comprehensive IS solution that will meet the present and foreseeable future
management needs. The case study includes a thorough evaluation of an entire IS
department including Return On Investments (ROI), budgeting projects, and
scheduling resources. Students work with the instructor in both classroom and
mentor environments.
Track: ADIS.
QC7503. Principles of Project Management
The latest techniques used by IS managers to budget, plan and evaluate system
projects. Methods for identifying the tasks of typical IS project, determining
realistic schedules, creating human resource models, and evaluating true
percentage of completion of the project. Project life cycles, change control,
organization, work-in-process, and ISO 9000.
Track: ADIS.
QC8100. Introduction to E-Commerce
This course introduces students to the Internet, Intranet, and Extranet. It also presents a comprehensive study on how these networks are applied to business. Students will have a firm understanding of how to apply the new technology to business upon completion of this course.
Track: ECOM.
QC8101. Software Engineering for E-Commerce
This course provides students with an understanding of how to do the analysis, design, and development of e-commerce systems. Students learn how to create specifications that can be used to develop complex e-commerce systems.
Track: ECOM.
QC8200. Web Site Design and Development
This course provides students with hands-on experience on how to develop professional Web sites and e-commerce transaction-based systems. Students learn how to create on-line catalogs and shopping carts; process on-line transactions; and create sites that download files, play audio, run video, and provide live radio/video broadcast.
Track: ECOM.
QC8201. Java Programming for E-Commerce
This course shows students how to create applications using Java. Students learn how to develop Java applets to enhance the portability and performance of Web pages. Students also learn how to create Java applications for Web-browser clients and workstations.
Track: ECOM.
QC8300. Common Gateway Interface Development
This course shows students how to connect the server-side to a Web site. Students learn how to create dynamic Web pages, receive and process information from a Web page, and save and read information to and from databases and files. Students also learn the intricacies of how to develop e-commerce transaction systems such as credit card processing.
Track: ECOM.
QC8301. SQL Programming for Web Development
This course shows students how to interface e-commerce systems with complex back-end databases. Students learn SQL and how to integrate SQL within a web-based application.
Track: ECOM.
QC8400. Application Development Lab in E-Commerce
In this course, students develop an instructor-approved application that demonstrates their mastery of e-commerce development systems.
Track: ECOM.
QC8401. Advanced Development and Programming in Java for E-Commerce
This course provides students with advanced techniques for developing corporate-wide applications using Java and other Web-based tools. Students focus on how to integrate advanced programming capabilities into enterprise level software products.
Track: ECOM.
|