logo The School of Computer Science, Telecommunications and Information Systems at DePaul University DePaul University Homepage Get more information about labs
blank
Home Admissions Advising Courses Faculty MyCTI Programs Research Student Life Resources
 

Graduate Assessment Study Guide

Home
Course Information
Course Syllabi
Schedule
Faculty
Undergraduate Degrees
Graduate Degrees
 
News and Events
Calendar
 
MSDNAA
 
MyCDM
Prerequisite Knowledge Videos

The Graduate Assessment exam is intended for students to prove knowledge in a particular prerequisite class. They should be taken only if recommended by a faculty member after an PPA appointment. The study guides and FAQ's are contained on this page.

Login to the GAE Application

Study Guides are located below

Frequently Asked Questions About GAE Exam

  1. When are GAE's available?

    GAE's are always administered on the first Tuesday and the first Friday of the month at 2:00pm.

  2. How often may I take an assessment exam?

    Only one attempt is allowed for any exam. If failed, the corresponding course must be taken and completed with a grade of "B-" or better

  3. How is the assessment exam graded?

    Assessment exams are graded on a Pass/Fail basis. A minimum score of 70% is required to "Pass".

  4. How long is each assessment exam?

    One hour and a half is allowed for each exam.

  5. How much does an assessment exam cost?

    Each exam costs $30.00, payable in either cash or by check. Checks must be made payable to DePaul University.

  6. What is the format of the GAE's?

    All exams are written. No computers, calculators, books, notes, etc. are allowed. Specific exam formats vary and cannot be given. However, all exams may be completed in the allotted 1.5 hours.

  7. When do GAE applications need to be submitted?

    Applications are typically due only a few days prior to the exam date. The online application will display application deadlines.

  8. What happens if a student does not show up for an exam?

    It is assumed that students who do not show up for a GAE will either reschedule for a different date or that they have decided not to take the GAE. Exams may be cancelled via the online application. CTI asks that this be done at least 2 business days prior to the exam date.

  9. Is there a limit to the number of exams which may be taken?

    No. Any prerequisite phase course may be satisfied by attempting to pass a GAE. However, CTI does ask that no more than two (2) exams be scheduled on the same day.

  10. If the CSC 224 assessment exam is taken and failed, can the CSC 211 assessment exam be attempted?

    No. Failure on either the CSC 211 or CSC 224 GAE means that the java prerequisite must be satisfied by completed the corresponding course.

GAE Study Guides

CNS 340 Fundamentals of Information Assurance
CSC 202 Mathematics for Computer Science
CSC 211 Programming in Java
CSC 212 Programming in Java II
CSC 224 Java for Programmers
CSC 261 Programming in C++ I
CSC 262 Programming in C++ II
CSC 309 Object Oriented Programming in C++
CSC 373 Computer Systems I
CSC 374 Computer Systems II
CSC 383 Data Structures and Algorithms in Java
CSC 393 Data Structures in C++
ECT 270 Client Side Web Application Development
ECT 310 Internet Application Development
ECT 353 Server side web application development
GPH 212 Perceptual Principles for Digital Environments II
GPH 259 Design Geometry
HCI 332 User Centered Web Development
HCI 402 Principles of Digital Design
IS 313 Business Application Development in Java
IS 404 Business Systems
IT 130 The Internet and the Web
IT 215 Analysis and Design Techniques
IT 223 Data Analysis
IT 230 Building Internet Applications
IT 236 End User Application Development
IT 240 Database Technologies
MAT 140 Discrete Mathematics I
PHY 405 Physics of Telecommunication
SE 325 Principles and Practices of Software Engineering
TDC 311 Computers in Telecommunications
TDC 361 Basic Communication Systems
TDC 411 Computers in Telecommunications

CNS 340 Fundamentals of Information Assurance

Topics:

  • Vulnerability, threats and attacks
  • Symmetric and asymmetric cryptography
  • Digital signatures, DES, RSA, certificates
  • Secure programs
  • Viruses and other malicious code
  • Elementary network concepts
  • Threats in networks, network security controls
  • Legal issues in computer security

References:

  • Security in Computing, 3rd Ed., C.P. Pfleeger and S. L. Pfleeger. Prentice Hall.

CSC 202 Mathematics for Computer Science

This course introduces basic mathematical tools essential for solving problems in computer science.

Topics:

  • Propositional/Boolean Logic (and, or, not, truth-tables, disjunctive normal form, basis)
  • Declaring and using objects belonging to predefined classes (including the String class)
  • Set Theory (union, intersection, difference, complement, powerset)
  • First-Order Logic (existential, universal quantifiers)
  • Relations (Equivalence, Ordering)
  • Functions (composition, inverse)
  • Searching and Sorting (Depth-First/Breadth-First Search, Insertion Sort, Topological Sort)
  • Graph Theory (Graphs, paths, cycles, complete graphs, bipartite graphs, Eulerian cycles, Hamiltonian cycles, planarity)
  • Combinatorics (Counting and probability, permutations, combinations)
  • Arithmetic (Logarithms, exponentials, polynomials, arithmetic series, geometric series)

References:

  • Discrete Mathematics, 6th ed., Richard Johnsonbaugh, Prentice-Hall, 2004.
  • Discrete Mathematics with Applications, 3rd ed., Susanna S. Epp. Brooks/Cole Publishing, 2004.

CSC 211 Programming in Java

Self test available.

Topics:

  • Primitive types, variables and expressions
  • Declaring and using objects belonging to predefined classes (including the String class)
  • Control statements for branching (e.g. if statement) and looping (e.g. for and while statements)
  • Defining classes and writing their methods, including parameter passing and return values
  • Static variables and methods
  • Arrays
  • Inputting data from the user and outputting information to the user using JOptionPane.showMessageDialog() and JOptionPane.showInputDialog()

References:

  • Computing with Java: Programs, Objects, Graphics, Alternate 2nd Ed., Gittleman. Scott Jones, 2002.

CSC 212 Programming in Java II

Topics:

  • Using and defining classes and their methods
  • User interfaces with swing components
  • Layout managers including:
  • FlowLayout, GridLayout and BorderLayout. Action event handling
  • Arrays, vectors, and collection classes. Sorting
  • Classes encapsulating collection data such as stacks and queues
  • Inheritance and polymorphism
  • Exception handling
  • I/O streams
  • Database connectivity using JDBC (see Deitel and Deitel reference)
  • Recursion

References:

  • Java Software Solutions, 2nd Ed., Lewis and Loftus, Addison-Wesley, 2001.
  • For reference on database connectivity, see Java How to Program, 3rd Ed., Deitel and Deitel.

CSC 224 Java for Programmers

Topics:

  • Primitive types, variables and expressions
  • Declaring and using objects belonging to predefined classes (including the String class)
  • Control statements for branching (e.g. if statement) and looping (e.g. for and while statements)
  • Defining classes and writing their methods, including parameter passing and return values. Static variables and methods
  • User interfaces with swing components. Layout managers including FlowLayout, GridLayout and BorderLayout. Action event handling
  • Arrays, vectors, and collection classes. Sorting
  • Classes encapsulating collection data such as stacks and queues
  • Inheritance and polymorphism
  • Exception handling
  • I/O streams
  • Database connectivity using JDBC (see Deitel and Deitel reference)
  • Recursion
  • Static variables and methods
  • Arrays
  • Basic graphical swing components (e.g. buttons, labels, text fields), common events and listeners (e.g. ActionEvents). Using java interfaces such as the ActionListener interface

References:

  • Java Software Solutions, 2nd Ed., Lewis and Loftus. Addison-Wesley, 2001.
  • For reference on database connectivity, see Java How to Program, 3rd Ed., Deitel and Deitel.

CSC 261 Programming in C++ I

Topics:

  • Flow of Control
  • Functions
  • Parameters and Overloading
  • Arrays
  • Structures and Classes
  • Graphics
  • Strings

References:

  • Absolute C++, Walter Savitch, Addison-Wesley

CSC 262 Programming in C++ II

Topics:

  • Classes and objects
  • Operator overloading
  • Memory management, pointers and arrays
  • Classes with pointers
  • Standard string class
  • Array of objects
  • Linked Lists
  • Inheritance and polymorphism
  • Templates

References:

  • Absolute C++, Walter Savitch, Addison-Wesley

CSC 309 Object-Oriented Programming in C++

Topics:

  • C++ Variable types, objects, strings. C++ control structures (if, switch, for, do, etc). C++ functions and parameter passing.
  • C++ pointers. Using the C++ new operator and differences with Java: e.g. no garbage collection, and how to delete dynamically declared variables. Differences between pointers and references. *, ->, &.
  • Memory management, pointers and arrays. Arrays of pointers.
  • C++ structs and classes. Data structures and stacks.
  • Linked Lists.
  • Recursive functions. Trees and tree traversals.
  • Object oriented concepts, inheritance, virtual functions, polymorphism and encapsulation.
  • Operator Overloading & Templates

References:

  • Object Oriented Programming in C++, Johnsonbaugh and Kalin.

CSC 373 Computer Systems I

Basic concepts in computer systems and their effect on program performance. Information representations, assembly language and debuggers, memory hierarchy, virtual memory, basic system-level I/O, networking and network programming.

Topics:

  • C language primer. (Chapter 1 of the text)
  • Representations of data. (Chapter 2 of the text)
  • Assembly language programming. (Chapter 3 of the text)
  • Memory hierarchies. (Chapter 6 of the text)
  • Virtual memory. (Chapter 10 of the text)
  • Computer input/output. (Chapter 11 of the text)
  • Network programming. (Chapter 12 of the text)

References:

  • Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2003.

CSC 374 Computer Systems II

A second course in computer systems. Processor architecture, lexical analysis, parsing, compiler optimization, linking, measuring execution time, system-level I/O, concurrency and concurrent programming.

Topics:

  • Processor Architecture (Chapter 4 of the text)
  • Grammars and Finite Automata
  • Lexing and Parsing
  • Compiling & Optimizing Program Performance (Chapter 5 of the text)
  • Linking (Chapter 7 of the text)
  • Measuring Program Execution Time (Chapter 9 of the text)
  • Process Creation and Synchronization (Chapter 8 of the text)
  • Input/Output and Network Programming (Chapters 11 and 12 of the text)
  • Threads (Chapter 13 of the text)

References:

  • Computer Systems: A Programmer's Perspective. Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2003.
  • Course notes on Grammars and Automata and Lexing and Parsing.

CSC 383 Data Structures and Algorithms in Java

This course provides basic knowledge of data structures.

Topics:

  • Runtime complexity and asymptotics
  • Implementation and use of data structures
  • Linked lists (including Java's LinkedList and LinkedListIterator classes)
  • Stacks
  • Queues
  • Trees
  • Balanced trees (including AVL trees) and Java's TreeMap and TreeSet classes
  • Binary heaps
  • Memory pools
  • Hash tables (including Java's HashMap and HashSet classes)
  • Graphs (including adjacency matrix and adjacency list implementation as well as simple algorithms like topological sort, shortest path, and minimum spanning tree)

References:

  • Data Structures and Algorithms in Java, Michael Goodrich and Roberto Tamassia. Wiley, 2000.
  • Java online API documentation

CSC 393 Data Structures in C++

This course provides basic knowledge of data structures.

Topics:

  • Runtime complexity and asymptotics
  • Implementation and use of data structures
  • Linked lists
  • Stacks
  • Queues
  • Trees
  • Balanced trees (including AVL trees)
  • Binary heaps
  • Memory pools
  • Hash tables
  • Graphs (including adjacency matrix and adjacency list implementation as well as simple algorithms like topological sort, shortest path, and minimum spanning tree)

References:

  • Data Structures and Program Design in C++, Rober Kruse and Alexander Ryba. Prentice Hall, 1998.

ECT 270 Client side Web Development

Topics:

  • Overview of Internet: Internet history, e-mail system, LAN, TCP/IP, ISP, DNS, ftp, telnet, basic Unix commands (ls, mkdir, chmod), Unix text editor.
  • Overview of WWW: Web definition, HyperText, Web browsers, search engines, newsgroups, mailing lists, creating a simple Web page.
  • HTML/XHTML: Basic tags, formatting text, images, lists, tables, image maps, forms.
  • Basic web design considerations: Site development process, Interface design, Navigation
  • Cascading style sheets (CSS1, CSS2): Inline, document-level, external, style rules, classes and ID's, block level elements, 3D positioning.
  • JavaScript: Basic programming structures, functions, arrays, objects, methods, event model, form validation, regular expressions.
  • DHTML: dynamic contents, rollovers, filters, transitions, drop menus, slide shows, simple animation.

References:

  • Creating Web Pages with HTML and XML, P.Carey. Thompson Learning, 2001.
  • Creating Web Pages with Dynamic HTML, P.Carey. Thompson Learning, 2001.
  • Internet and World Wide Web: How to Program, Deitel & Deitel. Prentice Hall, 2002.

ECT 310 Internet Application Development

Format:

Question formats may include: true/false, multiple choice, matching, short answer, fill-in-the-blank, coding and essay. The exam has many questions and requires you to work quickly.

Topics:

The exam covers c#-based ASP.NET. Any of the topics below could provide appropriate questions for the GAE exam, since all are covered in ECT 310. Because of time limitations, not all topics may actually appear on the exam:

  • What ASP.NET can do for your Web pages
  • What you need to run ASP.NET
  • .NET framework and ASP.NET
  • Differences between running a script on a server and running your script on a client
  • Declaring and referring to a variable; Converting variables; Declaring and using an array
  • Arithmetic
  • String variable manipulation
  • Control structures: Branching (if-then and select case); Looping (for-next and do while); Jumping (sub-procedures and functions)
  • Objects and their interfaces (properties, methods and events)
  • Setting and retrieving object properties
  • Calling an object's methods
  • HTML server controls
  • ASP.NET server controls
  • ASP.NET validator controls
  • ASP.NET user controls and code-behind
  • Application and session objects/variables
  • Cookies
  • Debugging ASP.NET code
  • Accessing and updating ACCESS databases through ASP.NET
  • Using SQL in ASP.NET
  • Building a shopping cart using ASP.NET

References:

  • Beginning ASP.NET 1.1 with Visual C# .NET 2003. Wrox Press.

ECT 353 Server side web application development

Format:

Question formats may include: true/false, multiple choice, matching, short answer, fill-in-the-blank, coding and essay. The exam has many questions and requires you to work quickly.

Topics:

The exam covers VB-based ASP. Any of the topics below could provide appropriate questions for the exam, since all are covered in ECT 353. Because of time limitations, not all topics may actually appear on the exam:

  • What ASP can do for your Web pages
  • What you need to run ASP and where to get it
  • ASP as a Microsoft technology
  • Differences between running a script on a server and running your script on a client
  • Declaring and referring to a variable § Converting variables § Declaring and using an array
  • Arithmetic
  • String variable manipulation
  • Control structures: Branching (if-then and select case); Looping (for-next and do while); Jumping (sub-procedures and functions)
  • Objects and their interfaces (properties, methods and events)
  • Setting and retrieving object properties
  • Calling an object's methods
  • Understanding and using ASP's five object model
  • Using hidden variables
  • Buffering and caching
  • Application and session objects/variables
  • Cookies
  • Debugging ASP code
  • Accessing and updating ACCESS databases through ASP
  • Using SQL in ASP
  • Applying the concepts of ASP to a real world retail problem

References:

  • Beginning Active Server Pages. Wrox Press.

GPH 212 Perceptual Principles for Digital Environments II

There is no written GAE for this course. Students who believe they qualify for a waiver are asked to prepare a portfolio for review and are encouraged to speak with their faculty advisors if they have any questions.

GPH 259 Design Geometry

This course covers the basic geometric principles necessary to understand and manage the geometric tools of standard graphic applications. The course is for non-mathematicians.

Topics:

  • The basic elements of geometry and their function in classic compass and straight-edge construction.
  • The principles of position, tangent and curvature continuity.
  • Principles of vector geometry and how these are used to represent classic geometry in CAD programs.
  • Using transformations and symmetry in design.
  • Solve a triangle using the trigonometric functions of sine, cosine and tangent.
  • Principles of projection geometry and the use of that geometry in 3D rendering
  • The structure of spline curves and the use of normals and curvature circles for purposes of analysis.
  • The structure and role of spline and mesh surfaces in graphics.
  • Definitions of fractal depth, fractal dimension, fractal generation, fractal enhancement, recursion and iteration.

References:

  • References are varied and covered best in course handouts that can be secured from Professor Stephen Luecking.

HCI 332 User Centered Web Development

This class teaches client-side web development (HTML, DHTML) with particular emphasis on questions of design and usability testing.

Topics:

  • HTML
    • formatting, links, images
    • imagemaps, tables, forms, frames
  • DHTML
    • CSS
    • Eventhandlers
    • DOM
    • Javascript (variables, conditionals, loops)
    • Form validation
  • Web-Design
    • Design Principles
    • Layout through visual grouping
    • Information architecture
    • Color, fonts, graphics (pictures, icons)
    • Navigation (Principles, functions)
  • Usability Testing
    • Key-Task Testing, Get-It Testing (see Krug)

References:

  • HTML, CSS, DHTML: Creating Web-Pages with HTML and Dynamic HTML, by Patrick Carey. Thomson Learning, 2001.
  • Usability Testing: Don't Make Me Think, by Steve Krug. QUE, 2000.
  • Design: The Non-Designer's Web Book, 2nd Ed., by Robin Williams. Peach-Pit Press, 2001.

HCI 402 Principles of Digital Design

This class covers the basic design principles used to structure and enhance visual communication on the digital page.

This exam measures your ability to determine the design principles at work in numerous visual examples.

Topics:

  • Formal structural patterns with emphasis on the grid.
  • Informal structural patterns with emphasis on the principles of unity and gestalt perception.
  • Shape interactions, especially the use of Booleans.
  • Spatial transformations used to establish relationships of compositional elements to one another and to the compositional space.
  • Additive and subtractive color systems incorporated in 2D graphic programs.
  • Color harmonies derived from these systems.
  • Methods for conveying the illusion of space on a two dimensional page.

References:

  • Principles of Two-Dimensional Design, Wucius Wong. Wiley.
  • Design Fundamentals for the Digital Age, Linda Holtzschue and Edward Noriega. Wiley.

IS 313 Business Application Development in Java

This course covers more advanced features of the Java programming language, including database connectivity, networking, graphical user interfaces, and multithreading. The use of these features in business applications is emphasized.

Topics

  • The Java Collections framework (Chapter 2)
  • JDBC (Chapter 4)
  • AWT/Swing (Chapter 6, pgs. 400-458)
  • Threads (Chapter 1)
  • Network programming (Chapters 3 and 5)
  • Sockets
  • RMI

References:

  • Core Java 2, Volume II: Advanced Features, 4th Ed., Cay S. Horstmann and Gary Cornell.

IS 404 Business Systems

Topics:

  • Understanding of some basic IS concepts e.g. Data, Information, Knowledge
  • Role of information systems in organization
  • Information systems management approaches
  • Understanding of the following information systems: Automation systems, Transaction processing systems, Management information systems and Strategic information systems.
  • Different types of hardware and software
  • Understanding of the new organization structures and there information requirements
  • Information and organization strategy
  • Information technology in the internet age
  • Internet and other external networks

References:

  • Information Systems: A management Approach, 2nd Ed., J.R. Gordeon S.R. and Gordon.

IT 130 The Internet and the Web

This course introduces basic concepts of the Internet and World-Wide Web. Students will learn how to create web pages with HTML and CSS and use JavaScript for dynamic effects.

Topics:

  • the roles and operation of Web browsers and servers
  • creating web pages using HTML
  • setting styles and formatting using cascading stylesheets
  • user-centered web design to create effective interfaces for the web
  • dynamic programming using JavaScript

References:

  • A Balanced Introduction to Computer Science, David Reed. Pearson/Prentice Hall, 2004.

IT 215 Analysis and Design Techniques

Self test available.

Topics:

  • System Development Life Cycle
    • Phase 1: Planning
    • Phase 2: Analysis
    • Phase 3: Design
    • Phase 4: Implementation
    • Phase 5: Operation and Support
  • Development Techniques
    • Structured
    • Joint Application
    • Rapid Application
  • Analysis Tools
    • Requirements Modeling
    • Data flow diagrams
    • Entity Relationship diagrams
    • Data Dictionary
    • Feasibility Study
  • Design Strategies
    • User Centered Design
    • Application Architecture
  • Implementation Issues
    • Application Development
    • Documentation
    • Testing
    • User training

References:

  • Systems Analysis and Design, 5th Ed., Shelly Cashman Rosenblatt.

IT 223 Data Analysis

Self test available.

This exam covers topics in a first data analysis or statistics class.

Topics:

  • Histograms with possibly unequal class widths
  • Basic descriptive statistics: mean, median, standard deviation, interquartile range
  • Measurement error
  • Normal distributions
  • Correlation as a measure of linear association
  • The straight line regression model Root mean squared error for regression
  • Basic laws of probability
  • The binomial formula
  • Expected value and standard deviation of a random variable
  • Expected value and standard error of the sum and average of independent outcomes.
  • Law of averages (also known as the Law of Large Numbers)
  • Normal approximation of a sum and an average (also known as the Central Limit
  • Theorem)
  • Confidence intervals
  • Tests of significance

References:

  • Introduction to the Practice of Statistics, 4th Ed., D.S. Moore and G.P. McCabe. Freeman and Co, 2002.

IT 230 Building Internet Applications

Format:

Question formats may include: true/false, multiple choice, matching, short answer, fill-in-the-blank, coding and essay. The exam has many questions and requires you to work quickly.

Topics:

The exam covers CGI/Perl, PHP, JSP/Servlets, and c#-based ASP.NET. Any of the topics below could provide appropriate questions for the GAE exam, since all are covered in ECT 310. Because of time limitations, not all topics may actually appear on the exam:

  • Client-side scripting vs. server-side scripting
  • CGI/Perl
  • PHP
  • JSP/Servlets
  • HTTP basics
  • ASP.NET basics
  • ASP.NET HTML server controls
  • Request and Response objects
  • Programming access to databases using ASP.NET
  • XML Web services
  • Windows authentication

References:

  • Beginning ASP.NET 1.0 with C#. Wrox Press.

IT 236 End User Application Development

IT236 is a one quarter course in Visual Basic. It assumes that the student has had one quarter of programming in a language such as JavaScript, C ,C++, or Java. IT 130 is the CTI prerequisite for IT 236

Topics:

  • A basic understanding of the Visual Studio IDE and basic terminology: Code Editor, Form Designer, Toolbox, Properties Window, Solution Explorer
  • Arithmetic Expressions, Arithmetic operators (+, -, *, /, \, Mod, ^), Options Strict and Explicit
  • Event Driven Programming in Visual Basic: Event Handler, Linking an event to an event handler using the Handles keyword.
  • Controls: TextBox, ListBox, Button, Label, GroupBox, RadioButtons, CheckBoxes, MainMenu, MenuItem, DataGrid
  • Strings including string functions Substring and IndexOf
  • External text file processing, sequential files, CSV files
  • Subprograms and Functions, parameter passing (value vs. reference), public vs. private
  • Structured programming constructs: If..Else, For..Next, Do loops, Select Case, Relational operators (=, <, <=, >, <=, <>)
  • Classes and Objects, Methods, Properties vs. Public variables, Methods, Constructors.
  • Database access: SQL, OleDbConnection, OleDbCommand, OleDbDataAdapter, DataSet, DataGrid.
  • Be able to:
    • define the various concepts.
    • discuss the advantages and disadvantages of the various concepts.
    • predict the output of a Visual Basic application.
    • create an application using design time and run time programming.
    • write and test subroutines and functions.
    • write simple SQL statements for extracting information from a database table.
    • manipulate information in controls, collections, and/or databases.

References:

  • An Introduction to Programming Using Visual Basic.Net, 5th Ed., David I. Schneider. Prentice Hall, 2003.

IT 240 Introduction to Desktop Databases

Self test available.

This course introduces students to the methods for the design, development, implementation and administration of desktop databases.

Topics:

Upon completion of the course, students should be able to do the following.

  • Design a database: Entity Relation (ER) modeling and normalization techniques
  • Create and maintain a database using Microsoft Access.
  • Compose and use queries in Structured Query Language
  • Create and customize forms and reports
  • Integrate databases with other sources of data and applications

References:

  • Modern Database Management, Hoffer, Prescott, and McFadden. Prentice Hall, 2005.

MAT 140 Discrete Mathematics I

This course and its companion (MAT 141) are intended to provide a solid foundation for further study of mathematics, programming languages, database theory, data structures, and analysis of algorithms. The focus of Math 140 is on the basic principles of logical reasoning and how to apply these principles to formulate and explore the truth and falsity of statements in mathematics and computer science. Proof, disproof, and conjecture all figure prominently. The main vehicle for exploration is number theory, including divisibility properties of integers, the infinity of the prime numbers, the representation of real numbers on a number line, and properties of rational and irrational numbers. The last part of the course deals with combinatorial reasoning and its applications in a variety of different areas.

Topics:

  • Logic of Compound Statements
  • Logic of Quantified Statements
  • Elementary Number Theory and Methods of Proof (divisibility; division theorem; rational and irrational numbers; floor and ceiling; mod and div; direct and indirect proof; division into cases)
  • Applications: Algorithms (division algorithm; Euclidean algorithm)
  • Sequences and Mathematical Induction
  • Definitions from set theory, functions and relations
  • Combinatorial Reasoning (counting and probability, possibility trees and the multiplication rule; combinations, the binomial theorem)

References:

  • Discrete Mathematics with Applications, 3rd ed., Susanna S. Epp. Brooks/Cole Publishing, 2004.

PHY 405 The Physics of Telecommunication

This exam covers topics in a first physics course in electricity, electrical systems, and transmission media.

Topics:

  • Units of Electrical Measurement: Hertz, Ohms, Volts, Joules, Farads, Watts, Henrys, Coulombs, Amperes
  • Basic Circuit Operations and Analysis
  • Series vs. Parallel Circuits
  • Ohm's Law
  • Inductance, Capacitance and Tuned Circuits
  • Semiconductors, Transistors, Diodes, Integrated Circuits, Digital Circuits
  • AM and FM Modulation· Fourier Analysis, Frequency Spectra and Filters
  • Transmission Media:
  • Twisted Pair, Coaxial Cable, Radio Frequency, Fiber Optics

References:

  • Electricity and Electronics, Gerrish and Dugger. Goodheart-Willcox Co.
  • Introduction to Telecommunications Electronics, Noll. Artech House.
  • Understanding Electricity and Electronic Principles, Heiserman. Sams.

SE 325 Principles and Practices of Software Engineering

The exam covers topics from an introductory course on Software Engineering. The exam will consist of a combination of multiple choice questions, short answer questions, and one or two longer questions. The following topics are covered in this exam but only to the level of an introductory Software Engineering textbook.

Topics

  • Software development life cycle models
  • Iterative and incremental development
  • Capability Maturity Model including the levels and key process areas.
  • Team organization including democratic, chief programmer etc.
  • Basic risk management including risk assessment, risk analysis, risk mitigation, and risk contingencies.
  • CASE tools
  • Software Configuration management
  • Version control
  • Blackbox and whitebox testing techniques
  • Software Quality Assurance (defect removal, formal technical reviews etc)
  • Metrics for analyzing design quality (coupling, cohesion, fan-in, fan-out etc)
  • Reusability
  • Planning and estimating (LOC, Expert judgment, COCOMO, Function point analysis)
  • Requirements (Characteristics, writing requirements, Functional vs. non-functional requirements)
  • Analysis (Basic knowledge of DFD, SADT, Petri Nets, FSM, use cases, sequence diagrams, class diagrams). Note many of these methods are covered in more detail in other classes, but SE325 students should at least be able to utilize rudimentary models of each type.
  • Change Management (request for change, traceability, impact analysis)
  • Engineering of safe and secure software systems

References:

Each of the following textbooks covers most of these topics

  • Software Engineering, 7th Ed, Ian Sommerville. Addison-Wesley, 2004.
  • Software Engineering: A Practitioners Approach, 6th Ed, Roger Pressman. McGraw-Hill, 2004.
  • Object Oriented & Classical Software Engineering, 6th Ed, Stephen R. Schach. McGraw-Hill, 2005.

TDC 311 Computers in Telecommunications

Topics:

  • Introduction to systems architecture: Computer capabilities (Processor, Storage capacity, Input/Output capability); Computer hardware (Central processing unit, System bus, Primary storage, Secondary storage, Input/output devices); Computer system classes (Multicomputer configurations).
  • Data representation: Binary data representations (Hexadecimal notation, Octal notation); Goals of computer data representation (Compactness, Accuracy, Ease of manipulation, Standardization); CPU data types (Integers, Real Numbers, Character data, Unicode, Boolean data, Memory addresses).
  • Processor technology and architecture: CPU Operation; Instructions and instruction sets (Data movement, Data transformations, Sequence control, Complex processing operations); Instruction format (Instruction length, Reduced instruction set computing); Clock rate; CPU registers (General purpose registers, Special purpose registers); Word size; Enhancing processor performance (Pipelining, Branch prediction and speculative execution, Multiprocessing).
  • Data storage technology: Storage device characteristics (Speed, Volatility, Access method, Portability, Cost and capacity, Memory-storage hierarchy); Primary storage devices (Storing electrical signals, Random access memory, Nonvolatile memory, Memory packaging); CPU memory access (Physical memory organization, Memory allocation and addressing); Magnetic storage (Magnetic decay and leakage, Areal density, Media integrity, Magnetic tape); Optical mass storage devices (CD-ROM, CD-R).
  • System integration and performance: System bus (Bus clock and data transfer rate, Bus protocol); Logical and physical access; Device controllers (Mainframe channels); Interrupt processing (Interrupt handlers, Multiple interrupts, Stack processing, Performance effects); Buffers and caches (Buffers, Diminishing returns, Cache); Processing parallelism (Multicore processors, Multi-CPU architecture, Scaling up and scaling out); High-performance clustering.
  • Operating systems: Operating system overview (Operating system management functions, Operating system layers); Resource allocation (Single-tasking resource allocation, Multitasking resource allocation, Resource allocation goals, Resource allocation tasks, Real and virtual resources); Process management (Process control data structures, Threads); CPU allocation (Thread states, Interrupt processing, Scheduling); Memory allocation (Single-tasking memory allocation, Multitasking memory allocation, Memory fragmentation, Noncontiguous memory allocation, Virtual memory management, Memory protection, Memory management hardware).
  • Files and secondary storage management: File management systems (Logical and physical storage views, File content and type); Directory content and structure (Hierarchical directory structure, Graph directory structure); Storage allocation (Allocation units, Storage allocation tables, Blocking and buffering); File manipulation (File open and close operations, Delete and undelete operations); Access controls.
  • Internet and distributed application services: Distributed computing (Client/server architecture, N-layer client/server architecture); Network resource access (Protocol stacks, Access remote resources); Interprocess communication (Sockets, Named pipes, Remote procedure calls); The Internet (Standard web protocols and services, The Internet as an application platform); Components and distributed objects (Component-based software, Components and objects, Connection standards and infrastructure, CORBA, COM+, SOAP); Directory services (Lightweight Directory Access Protocol (LDAP)).

References:

  • Systems Architecture, Stephen D. Burd.

TDC 361 Basic Communication Systems

Topics:

  • Know the concept of a network architecture model; the OSI model and its layers; the TCP/IP protocol suite and its layers
  • Know the differences between data and signals, differences between and advantages of analog and digital, signal amplitude, frequency and phase, modulation techniques, pulse code modulation
  • Know the different media types (twisted pair, coax, fiber, wireless); their advantages and disadvantages; application areas for each type of media
  • What are the basic modem operations; operation and limitations of 56k modems; four parts of an interface standard; basic understanding of RS232, USB; data link asynchronous connections versus synchronous connections
  • What are the basic operations, advantages and disadvantages of frequency division multiplexing, time division multiplexing (both synchronous and statistical), and wavelength division multiplexing
  • What are the various types of error; parity checks; cyclic redundancy checks; efficiencies; basic concepts of error control
  • What are the functions, advantages and disadvantages of a LAN; LAN topologies; medium access control protocols; MAC sublayer; popular LAN systems
  • What is a transparent bridge (how does it work); switch operation; basics of routers, hubs and servers
  • What are the network operating system basics, including domain and tree structured designs; characteristics, advantages and disadvantages of popular NOSs.
  • What are WAN basics: including circuit switched, packet switched (datagram and virtual circuit), broadcast, connection-oriented, connectionless, routing (least cost, flooding, centralized, distributed, isolated, adaptive, and static), and network congestion.
  • What is the Internet and how does it work: services provided, IP (addressing, routing, fragmentation, time-to-live), ARP, DHCP, NAT, IPv6, DNS, and TCP protocol (basic functions)
  • Know the basic telecommunication concepts: POTS, Divestiture of 1984, Telecommunications Act of 1996, PBX, key systems, voice processing, T-1, ISDN, frame relay, ATM, and DSL
  • Know the basics of network security: basic security measures, standard system attacks, encryption and decryption techniques, PKI, and firewalls
  • Know the basic concepts of compression; lossy vs. lossless compression

References:

  • Data Communications and Computer Networks: A Business User's Approach, White, Course Technology.
  • Business Data Communications, Stallings and Van Slyke. Prentice Hall.
  • Business Data Communications and Networking, Panko. Prentice Hall.
  • Business Data Communications and Networking, Fitzgerald and Dennis, John Wiley & Sons.
  • Business Data Communications, Stamper, Addison-Wesley.

TDC 411 Computers in Telecommunications

Topics:

  • Computer technology: Need to know, IS development: technical knowledge, Management of computer resources, Roles and job titles, Information sources about computer technology
  • Automated computation, computer processors, computer system capabilities, computer system components, von Neumann computer architecture, classes of computer systems, the role of software, economics of software development, programming languages, parallel Hardware/Software development
  • Data in motion and data at rest, data representation and transport, binary data, goals of data representation, integer data, real numbers, character data, Boolean data
  • Processor technology and Architecture: CPU operations, Instructions and instruction format, CPU registers, Future trends
  • Data storage technology : Storage devices characteristics (speed, volatility, access method, portability..etc.), CPU memory access, Magnetic storage
  • System integration & performance: System bus, Bus performance, Interrupts, Buffers & caches, Compression
  • Input/Output technology: I/O processing, I/O and storage device performance issues, Video display, Printers, Optical devices, Audio I/O devices
  • Communications protocols, data encoding methods
  • Coordinating communications, clock synchronization, asynchronous transmission, synchronous transmission, parallel transmission Network Topologies and OSI model
  • Basic Operating System concepts
  • File Management Systems

References:

  • Systems Architecture Hardware and Software in Business Information Systems, Stephen D. Burd. Course Technology.