2013-2014 Undergraduate and Graduate Bulletin (with addenda) 
    
    Mar 29, 2024  
2013-2014 Undergraduate and Graduate Bulletin (with addenda) [ARCHIVED CATALOG]

Course Descriptions


A Brief Guide to Course Descriptions

Each program described in this catalog contains detailed descriptions of the courses offered within the program.

The first line gives the official course number for which students must register and the official course title. The letters indicate the discipline of the course and the first number of the official course numbers indicates the level of the course. The levels are as follows:

  • 1XXX - Freshman Level
  • 2XXX - Sophomore Level
  • 3XXX - Junior Level
  • 4XXX - Senior Level
  • 5XXX to 9XXX - Graduate level

Typically the last number of the course number indicates the number of credits. The breakdown of periods of the course is also listed.

When selecting a course for registration, the section of the course may include the following notations:

  • “LEC” - lecture section
  • “RCT” or “RC” - recitation section
  • “LAB” or “LB” - lab section

Additionally, any other letter or digit listed in the section will further identify the section and being liked to another section of the class with the same letter and/or digit combination. Further information on sections is available from academic advisers during registration periods.

The paragraph description briefly indicates the contents and coverage of the course. A detailed course syllabus may be available by request from the office of the offering department.

“Prerequisites” are courses (or their equivalents) that must be completed before registering for the described course. “Co-requisites” are courses taken concurrently with the described course.

The notation “Also listed…” indicates that the course is also given under the number shown. This means that two or more departments or programs sponsor the described course and that students may register under either number, usually the one representing the student’s major program. Classes are jointly delivered.

 

Civil Engineering

  
  • CE-UY 3303 Traffic Engineering

    3 Credits
    This course covers the fundamentals of traffic engineering.  The characteristics of traffic streams, and how they are quantitatively described is included.  The course covers an overview of traffic control and operations, including the timing and design of pre-timed and actuated signals.  An introduction to highway capacity and level of service analysis is included, and the analysis of basic freeway segments and multilane highways is covered as an example of this type of analysis.

    Prerequisite(s):
    Corequisite(s): CE-UY 2343  or equivalent
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3313 Introduction to Transportation Systems

    3 Credits
    This course focuses on the fundamental conceptual elements of transportation systems and describes the approaches used to analyze and design transportation systems. The course covers the basic material about transportation systems, the context within which they operate and a characterization of their behavior.

    Prerequisite(s): Junior status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3333 Transportation Systems and Software

    3 Credits
    This course covers transportation software and its applications in understanding the impacts of traffic demand on the transportation system.  Simulation software will be used to test the impacts of various signal timings and progressions on an arterial and a network.  Fundamental concepts of signal coordination and progression will be treated.  The Highway Capacity Software (HCS) package will be used to examine the effects of traffic on individual intersection delay and level of service.

    Prerequisite(s): CE-UY 2343  or equivalent

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3353 History of the New York City Transit System

    3 Credits
    This course traces the technological history of public transportation in New York City and investigates its role in the development of the city, its economy and its social fabric. From the early days of horse-drawn public carriages to the modern subway system, the role of the public transit in the historical development patterns of New York City is treated. The course covers trolley systems, the age of the elevated railways and the subway system. Political, social and economic issues involved in the development of these critical infrastructures are discussed. Students develop independent project reports on aspects of the NYC public transit system, or on public transit systems in other major world cities.

    Prerequisite(s): Sophomore standing or permission of instructor.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3363 Transportation Economics

    3 Credits
    This course introduces the principles of engineering economic analysis and applies them to the analysis of transportation alternatives. The cost elements of transportation systems are presented and discussed.  The course also reviews existing measures and legislation that provide funding for transportation projects, and discusses potential new approaches for the future.

    Prerequisite(s): Sophomore standing.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3503 Cost Estimating

    3 Credits
    Students learn the classification of work, quantity surveying techniques and basic estimating principles applied to construction projects. Also addressed are contracts; specifications and other construction documents; and the identification and allocation of direct and indirect project costs, overhead and profit. Students are introduced to computer-based estimating techniques and software.

    Prerequisite(s): CE-UY 1502  or CE-UY 1002 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3513 Construction Scheduling

    3 Credits
    Students learn to apply the Critical Path Method (CPM) to construction projects, using precedence diagram networks. The course covers sequencing, cost allocation, updating, cash flow, resource constraints and scheduling, manpower leveling and distribution, time-scale networks, lead and lag-time constraints, time-cost tradeoffs, overlap and other specific leading edge scheduling techniques. Students direct an entire project from planning through scheduling and control, both manually and through software.

    Prerequisite(s): CE-UY 1502  or CE-UY 1002 .
    Weekly Lecture Hours: 2.5 | Weekly Lab Hours: 1.5 | Weekly Recitation Hours: 0
  
  • CE-UY 3533 Construction Site Layout and Surveying

    3 Credits
    This course studies the practical applications of surveying and its relationship to site planning and design.  The first portion of the course concentrates on land surveying concepts, including mathematics, horizontal and vertical control, and angle measurement.  The second portion of the course applies surveying data to site layout using traverses, area computations, property surveys, topography, and construction layout for highway and building applications.  This course also includes a field laboratory which introduces students to basic surveying practice, including the use of surveying equipment (wheels, tapes, levels, and theodolites), measurements theory and computation, data accuracy and precision, and the use of the field book to properly record data.
     

    Prerequisite(s):   ,   , or permission of the Construction Management Program Advisor.

  
  • CE-UY 3553 Non-Structural Building Systems

    3 Credits
    This course introduces the students to mechanical, electrical and vertical transportation systems for buildings. It examines fundamental aspects of the design, procurement and construction of heating, ventilating and air conditioning (HVAC), supply and sanitary plumbing, fire detection and suppression, high- and low-voltage electrical, security, elevator and escalator and building management systems.

    Prerequisite(s): CE-UY 1502  or CE-UY 1002 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 3563 Construction Modeling and Data Structures II

    3 Credits
    This course is the continuation of the student’s exploration of construction management through building information modeling (BIM). The students will apply their understanding of construction assemblies, trade scheduling and estimating through studies of a larger project. Emphasis will be placed on the student’s ability to model complex assemblies while coordinating and scheduling multiple trades. This progressive approach incorporates the 3D model and the associated databases in the management of construction by developing unit pricing, detailed scheduling and procurement attributes associated with a design.

    Prerequisite(s): CE-UY 2504 .
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 3 | Weekly Recitation Hours: 0
  
  • CE-UY 4033 Introduction to Urban Infrastructure Systems Management

    3 Credits
    This course provides students with an overview of key issues involved in the planning, management, operations and maintenance of urban infrastructure systems, including transportation, water supply, power, communications and information systems. It includes elements of engineering and technology, management, economics, finance, regulatory and public policy that have an impact on the sustainable development of the urban environment. The course features several distinguished guest lecturers from infrastructure industries and public agencies who share significant case studies with students. The course includes a component on GIS, with a focus on how to collect, integrate and share spatial data in urban infrastructure management. Group projects are required.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4043 Sustainable Cities

    3 Credits
    The course provides an overview of issues that need to be addressed to make a city sustainable, beginning with a definition of what is intended by the concept of sustainability and a discussion of what is the essence of a city. Students are asked to become familiar with the major challenges in making a city sustainable, and to provide, as part of their homework, a paper addressing a topic covered by the course through research and, where necessary, proposed solutions.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4053 Biosoma – Environmental Design of the City of the Future

    3 Credits
    The goal of this course is to improve the engineering design of a city and its components. The course focuses on the city as an entity that concentrates living organisms, societal organizations and activities and machines, interacting with the environment both outside and inside the city. A number of essential questions about the future of cities will be examined, such as: (1) what does urbanization mean for the future of humankind in terms of resources, capabilities, ideologies and culture? (2) How can the design of cities affect their future? (3) What should be the role of the engineer? (4) How can the engineer of the future be prepared for that role? (5) What critical engineering interventions are needed to influence the future of today’s cities? Each student will select a project that deals with some aspects of the course and present its results to the class.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4092 Leadership, Business Principles, Policy and Ethics in Civil Engineering

    2 Credits
    This course is in seminar form and is required of all senior students in Civil Engineering. It focuses on various aspect of professional practice in civil engineering, and it augments and enriches the student’s educational experience, including the capstone design course. Topics include professional roles and responsibilities, professional registration and its importance, continuing education, engineering ethics, procurement of work, competitive bidding, quality-based selection processes and construction management. Students are also introduced to the design and construction processes used by federal, state and local agencies, as well as private owners. The course includes a no-credit recitation that prepares students for the Fundamentals of Engineering (FE) examination, which Civil Engineering students must take before graduation.

    Prerequisite(s): Senior status or permission of instructor.
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 3
  
  • CE-UY 4153 Structural Design Project

    3 Credits
    This course covers the modeling, analysis and design of a steel or concrete building structure. Fundamental concepts of structural analysis and design are reinforced and applied. Computer-aided structural analysis and design software is introduced and utilized as in professional practice. Students may work individually or in groups to prepare interim and final reports.

    Prerequisite(s):  
    Weekly Lecture Hours: 2.5 | Weekly Lab Hours: 1.5
  
  • CE-UY 4173 Foundation Engineering

    3 Credits
    This course introduces the development of foundation engineering, including: site exploration; soil sampling; interpretation of boring logs; bearing capacity of footings; settlement of structures; lateral earth pressure; design of retaining walls, braced excavations and sheet pile walls; and design of deep foundations.

    Prerequisite(s): CE-UY 3153  or equivalent.
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 3 | Weekly Recitation Hours: 0
  
  • CE-UY 4193 Timber and Masonry Structures

    3 Credits
    This course covers: Properties and classification of structural lumber; design of timber connectors; design and construction of residential and industrial timber buildings; beams, frames, columns and trusses of sawn lumber and glued laminated construction; manufacture and properties of concrete masonry units; properties of mortar and grout; and design and construction of load-bearing, reinforced and unreinforced masonry structural elements.

    Prerequisite(s): CE-UY 3143  or equivalent.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4253 Hydraulic Systems

    3 Credits
    The application of basic principles of fluid mechanics and water resources in hydraulic engineering and design. Topics covered include: laminar and turbulent flow; boundary layer characteristics; subcritical and super critical flow; applications to pipe and open channel flow; pipe networks; hydraulic machinery and structures; river and canal systems and flood plains; safety; and reliability issues.

    Prerequisite(s): CE-UY 3243  or equivalent.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4263 Environmental Geotechnology

    3 Credits
    This course benefits students who are entering the consulting industry. It is difficult to separate environmental and geotechnical concerns in the urban environment. This course teaches students what environmental concerns to expect when planning construction projects, investigating sites and overseeing construction. The course covers methods for addressing these concerns. Topics covered include clay mineralogy, soil/water/contaminant interactions, interfacial tension and capillarity and remediation techniques.

    Prerequisite(s): CE-UY 3153  or equivalent.
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 3 | Weekly Recitation Hours: 0
  
  • CE-UY 4273 Environmental Engineering II

    3 Credits
    This course offers detailed coverage of water and wastewater treatment unit operations and includes a laboratory on processes and process design. Experiments are performed to evaluate laboratory-scale conventional water and waste treatment processes. Lectures cover detailed theory, design and advanced concepts.

    Prerequisite(s): CE-UY 2213  and CE-UY 3303  or equivalents.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4503 Construction Engineering

    3 Credits
    This course covers engineering fundamentals and developing trends in the use of excavating and earth-moving equipment, trucks, pumps, drilling and blasting equipment and cranes. Also considered are shoring and bracing and other temporary site construction operations.

    Prerequisite(s): CE-UY 1502  or CE-UY 1002 , and junior standing.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4513 Construction Project Administration

    3 Credits
    This course examines the roles of the project participants in executing a construction project, focusing on delegating administrative duties and responsibilities and managing and coordinating the physical work and administrative control of project information and records. Students use computer-based project administration techniques and software.

    Prerequisite(s): CE-UY 1502  or CE-UY 1002 , and junior standing.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4523 Structural Building Systems

    3 Credits
    This course introduces the general principles of loads on buildings and the design and analysis of conventional structural building systems in steel, concrete, wood and masonry. It also addresses the construction of such systems.

    Prerequisite(s): CN major, CE-UY 2123  and junior standing.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4533 Construction Law

    3 Credits
    The course introduces students to areas of the law that they are likely to encounter in construction. Following an introduction to the legal system and form of legal analysis, areas addressed include contracts, procurement, scope definition, delays and acceleration, site conditions, warranties, termination, tort claims, dispute resolution and ethics.

    Prerequisite(s): Junior standing.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4543 Construction Management Project

    3 Credits
    This course is the senior capstone experience in construction management which requires students to demonstrate the skills acquired through the undergraduate construction management curriculum. Students work individually or in groups as determined by the instructor and other participating industry advisers. Students attend regularly scheduled lectures and workshops, participate in interim and final presentations, and are responsible for periodic written submissions.

    Prerequisite(s): Senior status or as otherwise determined by the Construction Management Program Director.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4613 Selected Topics in Structural and Geotechnical Engineering

    3 Credits
    This course discusses unique topics of current interest in structural and geotechnical engineering. The course may feature a detailed look at a single topic or a series of focused topical presentations.

    Prerequisite(s): Adviser’s approval.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4623 Selected Topics in Environmental and Water Resources Engineering

    3 Credits
    This course examines unique topics of current interest in environmental and water resources engineering. The course may feature a detailed look at a single topic or a series of focused topical presentations.

    Prerequisite(s): Adviser’s approval.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4633 Selected Topics in Transportation Engineering

    3 Credits
    This course explores unique topics of current interest in transportation engineering. The course may feature a detailed look at a single topic or a series of focused topical presentations.

    Prerequisite(s): Adviser’s approval.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4643 Selected Topics in Construction Management

    3 Credits
    This course covers unique topics of current interest in construction management. The course may feature a detailed look at a single topic or a series of focused topical presentations.

    Prerequisite(s): Adviser’s approval.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CE-UY 4710 Readings in Civil Engineering

    variable credit (1-4) Credits
    These readings in subjects related to the civil engineering curriculum are individually guided. Topics arise from a regular course and must extend and transcend material covered in the traditional curriculum. Students need prior approval of the instructor with whom he or she is to work and a topic approved by that instructor before registering for a readings course. Such courses require a written report on the subject of the student’s readings before a grade is given.

    Note: A student may take this course more than once.

  
  • CE-UY 4812 Civil Engineering Design I: Site Planning and Design

    2 Credits
    This is the first part of a two-semester capstone design project course for Civil Engineers.  Each year a specific project will created.  Student groups will be formed, and each group will develop its plan and design for the assigned project.  Formal progress reports will be required, and a full design report will have to be prepared, submitted, and orally defended each semester.  The first semester focuses on site planning and design issues.  The main facility will be located on the site, and all site issues addressed:  grading and earthwork, traffic access and parking, water supply and sewage disposal, power supply and related issues.

    Prerequisite(s): CE-UY 3173  , CE-UY 2343  , CE-UY 3243  , and CE-UY 3153  Corequisite(s): CE-UY 4153 
    Weekly Lecture Hours: 2.5 | Weekly Lab Hours: 2.5 | Weekly Recitation Hours: 0
  
  • CE-UY 4822 Civil Engineering Design II: Structural Design

    2 Credits
    This is the second part of a two-semester capstone design project course for Civil Engineers.  Each year a specific project will created.  Student groups will be formed, and each group will develop its plan and design for the assigned project.  Formal progress reports will be required, and a full design report will have to be prepared, submitted, and orally defended each semester.  The second semester focuses on structural design and related issues.

    Prerequisite(s): CE-UY 4812 
    Weekly Lecture Hours: 2.5 | Weekly Lab Hours: 2.5 | Weekly Recitation Hours: 0
  
  • CE-UY 4993 BS Thesis in Civil Engineering

    3 Credits
    Honors Program students can produce a BS Thesis on a topic of interest to them under faculty advisement.  A research project is carried out in traditional and emerging areas of civil engineering.  Students are required to submit a bound thesis to the Office of Undergraduate Academics.

    Prerequisite(s): Prerequisite(s):  Honors Program status and advisor approval

Computer Science

Undergraduate Courses

Students are advised to consult the Schedule of Classes for changes in prerequisites effective after publication of this catalog. Students may not register for any junior- or senior-level courses until they complete all freshman requirements.

Graduate Courses

Graduate courses in computer science are regularly offered either every semester, annually or in two or three year cycles.

  
  • CS-GY 997X MS Thesis in Computer Science

    Variable credits Credits
    Exceptional students may elect to write a master’s thesis for which no more than 6 credits may be earned toward the degree. Such research should demonstrate adequately the student’s proficiency in the subject material. Also required: oral thesis defense before at least three professors, plus a formal, bound thesis volume. Thesis registration must be continuous.

    Prerequisite(s): Graduate status and satisfactory grades in prescribed courses.
  
  • CS-GY 999X PhD Dissertation in Computer Science

    Variable credits Credits
    The dissertation is an original investigation of a computer-science problem. The dissertation must demonstrate creativity and include features of originality and utility worthy of publication in a recognized journal. Candidates must orally defend their dissertations successfully. Registration of 21credits and continuous dissertation registration are required.

    Prerequisite(s): Passing grade for RE 9990 PhD Qualifying Exam, graduate standing, and dissertation advisor approval
  
  • CS-GY 5303 Introduction to Programming and Problem Solving

    3 Credits
    This course introduces discrete mathematics, computers and programming; Running C/C++ programs under Unix; algorithmic language; pseudo code; problem solving and program structure. Topics include constants, variable, data types, assignments, arithmetic expressions, input and output; object-oriented and top-down design and procedures, selection and loops; functions; enumerations; arrays, structs and searching and sorting.

    Prerequisite(s): Graduate status.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 5403 Data Structures and Algorithms

    3 Credits
    This course introduces data structures. Topics include program specifications and design; abstract data types; stacks, queues; dynamic storage allocation; sequential and linked implementation of stacks and queues; sequential and binary search methods; binary trees and general trees; hashing; computational complexity; sorting algorithms: selection sort, heap sort, mergesort and quicksort; comparison of sorting techniques and analysis.

    Prerequisite(s): Graduate status and CS-GY 5303 .
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6003 Foundations of Computer Science

    3 Credits
    This course covers logic, sets, functions, relations, asymptotic notation, proof techniques, induction, combinatorics, discrete probability, recurrences, graphs, trees, mathematical models of computation and undecidability.

    Prerequisite(s): Graduate status. Corequisite(s): CS-GY 5303 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6005-6025 Variable Credit Project/ Course


    For students who need .5, 1, 1.5, 2 and 2.5 credit hours to meet graduation requirements, a project or special course is available with faculty approval.

  
  • CS-GY 6033 Design and Analysis of Algorithms I

    3 Credits
    This course reviews basic data structures and mathematical tools. Topics: Data structures: priority queues, binary search trees, balanced search trees. Btrees. Algorithm design and analysis techniques illustrated in searching and sorting: heapsort, quicksort, sorting in linear time, medians and order statistics. Design and analysis techniques: dynamic programming, greedy algorithms. Graph algorithms: elementary graph algorithms (breadth-first search, depth-first search, topological sort, connected components, strongly connected components), minimum spanning tree, shortest path. String algorithms. Geometric algorithms. Linear programming. Brief introduction to NP completeness.

    Prerequisite(s): Graduate status, CS-GY 5403  and CS-GY 6003 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6043 Design and Analysis of Algorithms II

    3 Credits
    This course covers techniques in advanced design and analysis. Topics: Amortized analysis of algorithms. Advanced data structures: binomial heaps, Fibonacci heaps, data structures for disjoint sets, analysis of union by rank with path compression. Graph algorithms: elementary graph algorithms, maximum flow, matching algorithms. Randomized algorithms. Theory of NPcompleteness and approach to finding (approximate) solutions to NPcomplete problems. Additional selected topics.

    Prerequisite(s): Graduate status and CS-GY 6033 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6063 Software Engineering I

    3 Credits
    The course emphasizes the full software-engineering approach with alternative approaches. Technical emphasis is on requirements, design, development, and modeling. Management issues include software cost estimate and project management. Understanding the processes applicable to the software development/ integration cycle and maintenance along with technology changes on quality and development activities is highlighted.

    Prerequisite(s): Graduate status and CS-GY 5403 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6073 Software Engineering II

    3 Credits
    The course covers modern, advanced software engineering approaches with theory and practice orientations. Important design and management issues are analyzed and evaluated. Technical and management tradeoffs in distributed software systems are emphasized. An extensive number of real world case studies are assessed. A class project is required.

    Prerequisite(s): Graduate status and CS-GY 6063 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6083 Principles of Database Systems

    3 Credits
    This course broadly introduces database systems, including the relational data model, query languages, database design, index and file structures, query processing and optimization, concurrency and recovery, transaction management and database design. Students acquire hands-on experience in working with database systems and in building web-accessible database applications.

    Prerequisite(s): Graduate status, CS-GY 6003  or equivalent, familiarity with basic data structures and operating system principles.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6093 Advanced Database Systems

    3 Credits
    Students in this advanced course on database systems and data management are assumed to have a solid background in databases. The course typically covers a selection from the following topics: (1) advanced relational query processing and optimization, (2) OLAP and data warehousing, (3) data mining, (4) stream databases and other emerging database architectures and applications, (5) advanced transaction processing, (6) databases and the Web: text, search and semistructured data, or (7) geographic information systems. Topics are taught based on a reading list of selected research papers. Students work on a course project and may have to present in class.

    Prerequisite(s): Graduate status and CS-GY 6083  or equivalent, including experience with a relational database system.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6133 Computer Architecture I

    3 Credits
    This course provides students with an understanding of computer-hardware subsystems, digital design strategies and fundamental computer- performance and capacity-improvement techniques. Combinational and sequential circuits are developed for the essential building blocks of computers. Binary number systems are presented in both human and computer algorithms. A uniprocessor computer is built from the blocks developed. An assembly language and an instruction set are presented. Processor implementation with a data path and hardwired and microprogrammed control is introduced. Performance evaluation of computers is studied. Basic pipelining is introduced to improve system performance. Memory-hierarchy alternatives are introduced to improve the capacity of the computing system.

    Prerequisite(s): Graduate status.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6143 Computer Architecture II

    3 Credits
    This course covers high-speed computer design. Topics: Uni-processor computer architectures that exploit parallelism, advanced pipelining, superscalar, VLIW, vector processors. Parallel processing: Interconnection structures, MIMD and SIMD systems. Other selected parallel computing topics, such as parallel algorithms, PRAM machines and multicore processing.

    Prerequisite(s): Graduate status and CS-GY 6133 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6183 Fault-Tolerant Computers

    3 Credits
    This course introduces a variety of hardware and software techniques to design and model fault-tolerant computers. Topics include coding techniques (Hamming, SECSED, SECDED, etc.); majority voting schemes (TMR); software redundancy (Nversion programming); software-recovery schemes; network reliability design and estimation. The course introduces probabilistic methods for reliability modeling. Other topics: Examples from space fault tolerant systems, networks, commercial nonstop systems (TANDEM and STRATUS). RAID memory systems. Fault-tolerant modeling tools such as HARP, SHURE and SHARPE.

    Prerequisite(s): Graduate status and CS-GY 6133 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6233 Introduction to Operating Systems

    3 Credits
    This course introduces basic issues in operating systems. Topics: Threads, processes, concurrency, memory management, I/O Control and case studies.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6243 Operating Systems II

    3 Credits
    This course surveys recent important commercial and research trends in operating systems. Topics may include virtualization, network server design and characterization, scheduling and resource optimization, file systems, memory management, advanced debugging techniques, data-center design and energy utilization.

    Prerequisite(s): CS-GY 6233 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6253 Distributed Operating Systems

    3 Credits
    This course introduces distributed-networked computer systems. Topics: Distributed control and consensus. Notions of time in distributed systems. Client/Server communications protocols. Middleware. Distributed File Systems and Services. Fault tolerance, replication and transparency. Peer-to-peer systems. Case studies of modern commercial systems and research efforts.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6273 Performance Evaluation of Computer Systems

    3 Credits
    This course focuses on modeling and performance analysis of computer systems. It concentrates on testing and evaluation of three-tiered distributed client/server and WEB-based systems and generally on distributed networking systems. The course presents and evaluates various systems architectures from a macro and micro viewpoint.

    Prerequisite(s): Graduate status and EL-GY 5363  or MA-UY 2212 /MA-UY 2222  and instructor’s permission.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6313 Information Visualization

    3 Credits
    An introductory course on Information Visualization based on a modern and cohesive view of the area. Topics include visualization design, data principles, visual encoding principles, interaction principles, single/multiple view methods, item/attribute, attribute reduction methods, toolkits, and evaluation. Overviews and examples from state-of-the-art research will be provided. The course is designed as a first course in information visualization for students both intending to specialize in visualization as well as students who are interested in understanding and applying visualization principles and existing techniques.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6323 Large-Scale Visual Analytics

    3 Credits
    Visual analytics combines interactive visual interfaces and information visualization techniques with automatic algorithms to support analytical reasoning through human-computer interaction. People use visual analytics tools and techniques to synthesize information and derive insight from massive, dynamic, ambiguous, and often conflicting data, and to communicate their findings effectively for decision-making. This course will serve as an introduction to the science and technology of visual analytics and will include lectures on both theoretical foundations and application methodologies. The goals of this course are for students to develop a comprehensive understanding of this emerging, multidisciplinary field, and apply that understanding toward a focused research problem in a real-world application or a domain of personal interest.

    Prerequisite(s): CS 6313
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6333 Massive Data Analysis

    3 Credits
    Big Data requires the storage, organization, and processing of data at a scale and efficiency that go well beyond the capabilities of conventional information technologies. In this course, we will review the state of the art in Big Data analytics. In addition to covering the specifics of different platforms, models, and languages, we will also look at real applications that perform massive data analysis and how they can be implemented on Big Data platforms. Topics we will discuss include: Map reduce/Hadoop, NoSQL stores, languages such as Pig Latin and JAQL, large-scale data mining and visualization. The course will primarily consist of technical readings and discussions. It will also include programming projects where the participants will prototype data-intensive applications using existing Big Data tools and platforms. |

    Prerequisite(s): CS 6083
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6373 Programming Languages

    3 Credits
    This course covers the structures, notations and semantics of programming languages. Topics: Issues of scope, type structure and parameter passing. Control structures, including support for exception handling and concurrency. Abstract data types and object oriented languages. Programming in the large. Implementation issues. Functional, logic programming languages. Examples from a variety of languages.

    Prerequisite(s): Graduate status and CS-GY 5403 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6413 Compiler Design and Construction

    3 Credits
    This course covers compiler organization. Topics: Lexical analysis, syntax analysis, abstract syntax trees, symbol table organization, code generation. Introduction to code optimization techniques.

    Prerequisite(s): CS-GY 5403 , CS-GY 6133  and CS-GY 6033 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6533 Interactive Computer Graphics

    3 Credits
    This course introduces the fundamentals of computer graphics with hands-on graphics programming experiences. Topics include graphics software and hardware, 2D line segment-scan conversion, 2D and 3D transformations, viewing, clipping, polygon-scan conversion, hidden surface removal, illumination and shading, compositing, texture mapping, ray tracing, radiosity and scientific visualization.

    Prerequisite(s): Graduate status and CS-GY 5403  or equivalents and knowledge of C or C++ programming.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6543 Human Computer Interaction

    3 Credits
    Designing a successful interactive experience or software system takes more than technical savvy and vision–it also requires a deep understanding of how to serve people’s needs and desires through the experience of the system, and knowledge about how to weave this understanding into the development process. This course introduces key topics and methods for creating and evaluating human-computer interfaces/digital user experiences. Students apply these practices to a system of their choosing (I encourage application to prototype systems that students are currently working on in other contexts, at any stage of development). The course builds toward a final write-up and presentation in which students detail how they tackled HCI/user experience design and evaluation of their system, and results from their investigations. Some experience creating/participating in the production of interactive experiences/software is recommended.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6553 Game Design

    3 Credits
    This course is about experimental game design. Design in this context pertains to every aspect of the game, and these can be broadly characterized as the game system, control, visuals, audio, and resulting theme. We will explore these aspects through the creation of a few very focused game prototypes using a variety of contemporary game engines and frameworks, high-level programming languages, and physical materials. This will allow us to obtain a better understanding of what makes games appealing, and how game mechanics, systems, and a variety of player experiences can be designed and iteratively improved by means of rapid prototyping and play-testing. The course combines the technology, design, and philosophy in support of game creation, as well as the real-world implementation and design challenges faced by practicing game designers. Students will learn design guidelines and principles by which games can be conceived, prototyped, and fully developed within a one-semester course, and will create a game from start to finish. The course is a lot of (team)work, but it’s also a lot of fun. Programming skills are helpful, but not a hard requirement. Artistic skills, or a willingness to learn them are a plus.

    Prerequisite(s): CS-GY 6533  or OART-UT 1600 and OART-UT 1605 or instructor permission.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6573 Penetration Testing and Vulnerability Analysis

    3 Credits
    This advanced course in computer and network security focuses on penetration testing and vulnerability analysis. It introduces methodologies, techniques and tools to analyze and identify vulnerabilities in standalone and networked applications.

    Prerequisite(s): CS-GY 6823 .
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6613 Artificial Intelligence I

    3 Credits
    Artificial Intelligence (AI) is an important topic in computer science and offers many diversified applications. It addresses one of the ultimate puzzles humans are trying to solve: How is it possible for a slow, tiny brain, whether biological or electronic, to perceive, understand, predict and manipulate a world far larger and more complicated than itself? And how do people create a machine (or computer) with those properties? to that end, AI researchers try to understand how seeing, learning, remembering and reasoning can, or should, be done. This course introduces students to the many AI concepts and techniques.

    Prerequisite(s): Graduate status and CS-GY 5403 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6643 Computer Vision and Scene Analysis

    3 Credits
    An important goal of artificial intelligence is to equip computers with the capability to interpret visual inputs. Computer vision and scene analysis is an AI area that deals with constructing explicit, meaningful descriptions of physical objects from images. It includes many techniques from image processing, pattern recognition, geometric modeling and cognitive processing. This course introduces the many techniques and applications of computer vision and scene analysis.

    Prerequisite(s): Graduate status, CS-GY 5403  and MA-UY 2012 , or equivalents, or instructor’s permission.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6673 Neural Network Computing

    3 Credits
    This course introduces neural network models and their applications. Topics: Discussion of organization and learning in neural network models including perceptrons, adalines, backpropagation networks, recurrent networks, adaptive resonance theory and the neocognitron. Implementations in general and special purpose hardware, both analog and digital. Application in various areas with comparisons to nonneural approaches. Decision systems, nonlinear control, speech processing and vision.

    Prerequisite(s): Graduate status and CS-GY 5403 ; some familiarity with matrix notation and partial derivatives is recommended.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6703 Computational Geometry

    3 Credits
    This course introduces data structures and algorithms for geometric data. Topics include intersection, polygon triangulation, linear programming, orthogonal range searching, point location, Voronoi diagrams, Delaunay triangulations, arrangements and duality, geometric data structures, convex hulls, binary space partitions, robot motion planning, quadtrees, visibility graphs, simplex range searching.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6753 Theory of Computation

    3 Credits
    This course introduces the theory of computation. Topics: Formal languages and automata theory. Deterministic and non-deterministic finite automata, regular expressions, regular languages, context-free languages. Pumping theorems for regular and context-free languages. Turing machines, recognizable and decidable languages. Limits of computability: the Halting Problem, undecidable and unrecognizable languages, reductions to prove undecidability. Time complexity, P and NP, Cook-Levin theorem, NP completeness.

    Prerequisite(s): Graduate status and CS-GY 6003  or instructor’s permission.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6803 Information Systems Security Engineering and Management

    3 Credits
    This course presents a system and management view of information security: what it is, what drives the requirements for information security, how to integrate it into the systems-design process and life-cycle security management of information systems. A second goal is to cover basic federal policies on government information security and methodologies. Topics include information-security risk management, security policies, security in the systems-engineering process, laws related to information security and management of operational systems.

    Prerequisite(s): Graduate status and CS-UY 3923  or equivalent.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6813 Information, Security and Privacy

    3 Credits
    This course introduces Information Systems Security and covers cryptography, capability and access control mechanisms, authentication models, security models, operating systems security, malicious code, securitypolicy formation and enforcement, vulnerability analysis, evaluating secure systems.

    Prerequisite(s): Graduate status.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6823 Network Security

    3 Credits
    This course begins by covering attacks and threats in computer networks, including network mapping, port scanning, sniffing, DoS, DDoS, reflection attacks, attacks on DNS and leveraging P2P deployments for attacks. The course continues with cryptography topics most relevant to secure networking protocols. Topics covered are block ciphers, stream ciphers, public key cryptography, RSA, Diffie Hellman, certification authorities, digital signatures and message integrity. After surveying basic cryptographic techniques, the course examines several secure networking protocols, including PGP, SSL, IPsec and wireless security protocols. The course examines operational security, including firewalls and intrusion-detection systems. Students read recent research papers on network security and participate in an important lab component that includes packet sniffing, network mapping, firewalls, SSL and IPsec.

    Prerequisite(s): Graduate status and EL-GY 5363  or CS-GY 6843 .
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6843 Computer Networking

    3 Credits
    This course takes a top-down approach to computer networking. After an overview of computer networks and the Internet, the course covers the application layer, transport layer, network layer and link layers. Topics at the application layer include client-server architectures, P2P architectures, DNS and HTTP and Web applications. Topics at the transport layer include multiplexing, connectionless transport and UDP, principles or reliable data transfer, connection-oriented transport and TCP and TCP congestion control. Topics at the network layer include forwarding, router architecture, the IP protocol and routing protocols including OSPF and BGP. Topics at the link layer include multiple access protocols, ALOHA, CSMA/CD, Ethernet, CSMA/CA, wireless 802.11 networks and link layer switches. The course includes simple quantitative delay and throughput modeling, socket programming and network application development and Ethereal labs.

    Prerequisite(s): Graduate status and CS-UY 2134 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6873 Project in Telecommunication Networks

    3 Credits
    In this course, students design, develop and test communication software. Students work in small groups under faculty direction. Students have access to network resources for their work.

    Prerequisite(s): Graduate status and CS-GY 6843  and instructor’s permission.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6903 Applied Cryptography

    3 Credits
    This course examines Modern Cryptography from a both theoretical and applied perspective, with emphasis on “provable security” and “application case studies”. The course looks particularly at cryptographic primitives that are building blocks of various cryptographic applications. The course studies notions of security for a given cryptographic primitive, its various constructions and respective security analysis based on the security notion. The cryptographic primitives covered include pseudorandom functions, symmetric encryption (block ciphers), hash functions and random oracles, message authentication codes, asymmetric encryption, digital signatures and authenticated key exchange. The course covers how to build provably secure cryptographic protocols (e.g., secure message transmission, identification schemes, secure function evaluation, etc.), and various number-theoretic assumptions upon which cryptography is based. Also covered: implementation issues (e.g., key lengths, key management, standards, etc.) and, as application case studies, a number of real-life scenarios currently using solutions from modern cryptography.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6913 Web Search Engines

    3 Credits
    This course covers the basic technology underlying Web search engines and related tools. The main focus is on large-scale Web search engines (such as Google, Yahoo and MSN Search) and their underlying architectures and techniques. Students learn how search engines work and get hands-on experience in how to build search engines from the ground up. Topics are based on a reading list of recent research papers. Students must work on a course project and may have to present in class.

    Prerequisite(s): Good programming skills and graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6923 Machine Learning

    3 Credits
    This course introduces the field of machine learning and covers standard machine-learning techniques, such as decision trees, nearest neighbor, Bayesian methods, support vector machines and logistic regression. Topics: Basic concepts in computational learning theory including the PAC model and VC dimension. Methods for evaluating and comparing machine learning techniques.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 6963 Digital Forensics

    3 Credits
    This course introduces information-technology professionals to the application of forensic science principles and practices for collecting, preserving, examining, analyzing and presenting digital evidence. The course includes selected topics from the legal, forensic and information-technology domains and uses lecture, laboratory and written projects to illustrate these topics.

    Prerequisite(s): Graduate status.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 9013 Selected Topics in Computer Science

    3 Credits
    This course covers topics of current interest in computer science. Recent offerings include software specification and validation, parallel algorithms and architectures, client-server systems and advanced object-oriented design (Java). Advanced topics: Databases, performance analysis, computer simulation, Java programming, Unix programming, human and computer interaction, cryptography with financial applications and biometric identification.

    Prerequisite(s): Graduate Standing, and specified when course is offered.
  
  • CS-GY 9023 Web Technologies and Integrated Environments

    3 Credits
    Application Architecture in a three tier (web client, application server and data base server) environment is explained and analyzed. The impact of relevant open source tools (MySQL, CSS, AJAX etc. on the final application architecture is examined. Different integrated environments are contrasted. The content of this course is expected to change each semester as technology emerges.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 9033 Web Services and SOA

    3 Credits
    The service oriented architecture (SOA) is the latest application integration paradigm in the industry, developed to address the challenges of software development which anticipates the internal friction of interacting with incompatible architectures and programming models. SOA is a model of distributed software components which encapsulates business function in a reusable, composable way. SOA components, or services, are accessible using standardized protocols and are composed (or choreographed) into new applications using standard composition languages. The term “Web services” stands for a realization of the SOA paradigm as a set of XML based standards for component communication, description and composition. Middleware is soft ware that allows different applications to interact on typically distributed computer systems.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 9093 Biometrics

    3 Credits
    The course concentrates on the unique advantages that biometrics brings to computer security. The course also addresses such challenging issues as security strength, recognition rates and privacy, as well as alternatives of passwords and smart cards. Students gain knowledge in the building blocks of this field: image and signal processing, pattern recognition, security and privacy and secure system design. By the end of the course students are able to evaluate and design security systems that include biometrics.

    Prerequisite(s): Graduate status.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 9163 Application Security

    3 Credits
    This course addresses the design and implementation of secure applications. Concentration is on writing software programs that make it difficult for intruders to exploit security holes. The course emphasizes writing secure distributed programs in Java. The security ramifications of class, field and method visibility are emphasized.

    Prerequisite(s): Graduate status.
    Note: Online version available.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-GY 9223 Selected Topics in Computer Science

    3 Credits
    This course covers topics of current interest in computer science. Recent offerings include software specification and validation, parallel algorithms and architectures, client-server systems and advanced object-oriented design (Java). Advanced topics: Databases, performance analysis, computer simulation, Java programming, Unix programming, human and computer interaction, cryptography with financial applications and biometric identification.

    Prerequisite(s): Graduate status; others specified when course is offered.
  
  • CS-GY 9413 Readings in Computer Science I

    3 Credits
    This course is primarily for advanced graduate students who wish to study in a specialized area under faculty supervision. Permission of the graduate director is required, as are regular meetings with the adviser. An examination or term report is required.

    Prerequisite(s): Graduate status.
    Note: Students may register and receive credit for these courses more than once.

  
  • CS-GY 9423 Readings in Computer Science II

    3 Credits
    This course is primarily for advanced graduate students who wish to study in a specialized area under faculty supervision. Permission of the graduate director is required, as are regular meetings with the adviser. An examination or term report is required.

    Prerequisite(s): Graduate status.
    Note: Students may register and receive credit for these courses more than once.

  
  • CS-GY 9963 Advanced Project in Computer Science

    3 Credits
    This course permits the student to perform research in computer science with a narrower scope than a master’s thesis. Acceptance of a student by a faculty adviser is required before registration. A project report and an oral examination on it are required.

    Prerequisite(s): Graduate status.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 394X Special Topics in Computer Science

    Variable Credits
    This variable-credit special topics course is for juniors and seniors.

    Prerequisite(s): Departmental permission.
  
  • CS-UY 1012 Introduction to Computer Engineering

    2 Credits
    This course helps students to understand computer engineering as a balance among hardware, software, applications and theory, the notion of abstraction, computer layers and how they related to various aspects of computer engineering, implementation of abstract and physical computer layers: Number systems, digital logic, basic processor structure, instruction set architecture, machine learning, assembly languages and high-level programming in C. Other computer concepts, including compilers, operating systems, and algorithms presented, along with the simulator concept and its usage for understanding computer design, testing and analysis. Experts present special topics in the area. Also discussed are invention, innovation, entrepreneurship and ethics in these topics and in Computer Engineering.

    Also listed under: EE-UY 1012 .
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 1114 Introduction to Programming and Problem Solving

    4 Credits
    This course introduces problem solving and computer programming and is for undergraduate Computer Science and Computer Engineering majors who have limited prior experience in programming in any language. The course covers fundamentals of computer programming and its underlying principles using the Python programming language. Concepts and methods introduced in the course are illustrated by examples from various disciplines.

    Corequisite(s):  
    Note: Weekly laboratory required.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 3 | Weekly Recitation Hours: 0
  
  • CS-UY 1122 Computer Science and Engineering

    2 Credits
    This is a breadth-first course that introduces computer-science majors to several subdisciplines in the computer-science field. The course is built around the theme that computer science is the study of algorithms and includes much more than programming. The course introduces hardware, virtual machines, software, applications and social issues in computing.

    Prerequisite(s): CS-UY 1114  and only first-year Computer Science students are permitted to enroll in this introductory level course
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 1124 Object Oriented Programming

    4 Credits
    This intermediate-level programming course teaches object-oriented programming in C++. Topics: Pointers, dynamic memory allocation and recursion. Classes and objects including constructors, destructors, methods (member functions) and data members. Access and the interface to relationships of classes including composition, association and inheritance. Polymorphism through function overloading operators. Inheritance and templates. The standard template library is used to introduce elementary data structures and their use. Grade of C- or better required of computer science and computer engineering majors. Weekly laboratory required.

    Prerequisite(s): CS-UY 1114  (C- or better). Corequisite(s):  
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 3 | Weekly Recitation Hours: 0
  
  • CS-UY 1133 Engineering Problem Solving and Programming

    3 Credits
    This introductory course in engineering problem solving and computer programming is for all undergraduate engineering students without prior programming experience in any language. The course covers the fundamentals of computer programming and its underlying principles using the MATLAB programming language. Concepts and methods are illustrated by examples from various engineering disciplines. Useful numerical techniques and their applications to real world problems in science and engineering are also discussed. Weekly laboratory required.

    Corequisite(s):  
    Weekly Lecture Hours: 2 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 3
  
  • CS-UY 1213 Introduction to Programming with Java

    3 Credits
    This introductory course in computer programming and problem solving is for students in the Digital Media program. The course is taught in the Java programming language of Java’s interactive multi- capabilities. Students learn the main components and features of Java, understand the elements of Object Oriented Programming and how they relate to Java, and write applications and applets that can be incorporated into HTML documents for the World Wide Web. Students also learn programming methodology, which involves thinking about the best way to plan the design using object-oriented design and appropriate features of Java. Also covered is methodical and efficient development of the implementation using step-wise refinement, incremental testing and debugging.

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 2053 Assembly Language and Systems Programming

    3 Credits
    This course covers internal representation of numeric and character data. Topics: Machine organization and machine language programming. Assembly language, assemblers. Assembly language programming: branching, arrays, lists, arithmetic and bit manipulation, macros, stacks, subroutines, parameter passing, recursion. Linking and loading, position independent and reentrant code. Traps and interrupts.

    Prerequisite(s): CS-UY 2134  (C- or better).
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 2134 Data Structures and Algorithms

    4 Credits
    This course covers abstract data types and the implementation and use of standard data structures. Topics: Fundamental algorithms and the basics of algorithm analysis. A grade of C- or better is required of undergraduate computer science and computer-engineering majors.

    Prerequisite(s): CS-UY 1124  (C- or better) and MA-UY 1024 . Corequisite(s): MA-UY 2312 /MA-UY 2322 .
    Weekly Lecture Hours: 4 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 2164 Introduction to Programming in C

    4 Credits
    This course covers programming in C. Topics: The syntax, variables, expressions, working environment, printf and scanf. Function calls and returns. Branching and looping. Relational operators. Bit-wise operators. Boolean expressions. Recursion. Pointers. Data structures: Arrays, structs, lists, stacks, trees, queues. String processing. Low level memory management, dynamic memory allocation. The preprocessor. File processing : fprintf, fscanf, fseek, sscanf. Concurrency, fork, pipe, signal. Dynamic multidimensional arrays, OS APIs. Linux/UNIX integration. A laboratory meets weekly.

    Prerequisite(s): EE major status and either CS-UY 1133  or CS-UY 1114 . Corequisite(s): CS 2164 Lab.
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 1.5 | Weekly Recitation Hours: 0
  
  • CS-UY 2204 Digital Logic and State Machine Design

    4 Credits
    This course covers combinational and sequential digital circuits. Topics: Introduction to digital systems. Number systems and binary arithmetic. Switching algebra and logic design. Error detection and correction. Combinational integrated circuits, including adders. Timing hazards. Sequential circuits, flip-flops, state diagrams and synchronous machine synthesis. Programmable Logic Devices, PLA, PAL and FPGA. Finite-state machine design. Memory elements. Weekly laboratory experiments introduce digital system design on FPGAs. A grade of C- or better is required of undergraduate computer-engineering majors.

    Prerequisite(s): CS-UY 1114  (C- or better) or CS-UY 1133  (C- or better).
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 3 | Weekly Recitation Hours: 0
  
  • CS-UY 2214 Computer Architecture and Organization

    4 Credits
    This course covers is a top/down approach to computer design. Topics: Computer architecture, introduction to assembly language programming and machine language set design. Computer organization, logical modules; CPU, memory and I/O units. Instruction cycles, the datapath and control unit. Hardwiring and microprogramming. The memory subsystem and timing. I/O interface, interrupts, programmed I/O and DMA. Introduction to pipelining and memory hierarchies. Fundamentals of computer networks. Weekly recitations support lecture topics and study homework assignments.

    Prerequisite(s): CS-UY 2204  for computer engineering majors; CS-UY 2134  (C- or better) and MA-UY 2314  for computer science majors. Students who are neither computer engineering majors nor computer science majors must take either CS-UY 2204  OR CS-UY 2134  (C- or better) and MA-UY 2314  .

    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 2
  
  • CS-UY 2413 Design and Analysis of Algorithms

    3 Credits
    This course covers fundamental principles of the design and analysis of algorithms. Topics include asymptotic notation, recurrences, randomized algorithms, sorting and selection, balanced binary search trees, augmented data structures, advanced data structures, algorithms on strings, graph algorithms, geometric algorithms, greedy algorithms, dynamic programming and NP completeness.

    Prerequisite(s): CS-UY 2134  (C- or better) and MA-UY 2312 /MA-UY 2322 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 3083 Introduction to Databases

    3 Credits
    This course introduces database systems and their approach as a mechanism to model the real world. The course covers data models (relational, object-oriented), physical database design, query languages, query processing and optimization, as well as transaction management techniques. Implementation issues, object oriented and distributed databases also are introduced.

    Prerequisite(s): CS-UY 2134 .
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 3113 Game Programming

    3 Credits
    A programming intensive introduction to the creation of computer games. Using mostly two-dimensional sprite-based programming, we examine and experiment with animation, physics, artificial intelligence and audio. In addition, the course explores the mathematics of transformations (both 2D and 3D) and the ways they may be represented.

    Prerequisite(s): CS-UY 2134  (C- or better).
    Weekly Lecture Hours: 3 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
  
  • CS-UY 3224 Operating Systems

    4 Credits
    This course studies the fundamental concepts and principles of operating systems. Batch, spooling and multiprogramming systems are introduced. The parts of an operating system are described in terms of their functions, structure and implementation. Basic policies for allocating resources are discussed.

    Prerequisite(s): CS-UY 2214  and CS-UY 2134  (C- or better).
    Weekly Lecture Hours: 4 | Weekly Lab Hours: 0 | Weekly Recitation Hours: 0
 

Page: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 -> 14