Graduate Assessment Exams

Graduate Assessment Exams

  • View the GAE Study Guides
  • Login to MyCDM for the GAE Application
For questions about graduate assessment exams please contact gaeexams@cdm.depaul.edu.

GAE Study Guides


  • 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 310   Internet Application Development
  • GPH 212  Perceptual Principles for Digital Environments II
  • GPH 259  Design Geometry
  • GPH 321 Computer Graphics Development I
  • HCI 302  Principles of Digital Design
  • IM 230  Scripting For Interactive Media
  • IT 130  The Internet and the Web
  • IT 215  Analysis and Design Techniques
  • IT 223  Data Analysis
  • IT 230  Building Internet Applications
  • IT 240  Database Technologies
  • IT 263  Applied Networks and Security
  • MAT 150/151  Calculus I and II for MS in Computational Finance
  • SE 325  Principles and Practices of Software Engineering 
  • TDC 311  Computers in Telecommunications
  • TDC 261  Basic Communication Systems

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 here.
Note: Self-tests do not substitute for Graduate Assessment Exams to fulfill a student's prerequisite phase requirements. Self-tests are a method for a student to conduct a personal evaluation about his or her knowledge in a subject area.

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


A course on computer systems topics, focusing on machine-level programming and architecture and their relevance for application programming. Information representations, assembly language and debuggers, processor architecture, program optimization, memory hierarchy and caching.

Topics:

  • C language primer. (Chapters 1-8 of [2])
  • Representations of data. (Chapter 2 of [1])
  • Assembly language programming. (Chapter 3 of [1])
  • Optimizing Program Performance (Chapter 5 of [1])
  • Memory hierarchies. (Chapter 6 of [1])

References:
Computer Systems: A Programmer's Perspective, 2nd edition. Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2011.
System Programming with C and Unix, Adam Hoover. Addison Wesley, 2010.


CSC 374 Computer Systems II


A course on computer systems topics, focusing on operating systems components and their relevance for application programming. Linking, processes, virtual memory, dynamic memory allocation, system level I/O, networking and network programming, concurrent servers and web services.

Topics:

  • Linking (Chapter 7 of [1])
  • Process Creation and Synchronization (Chapter 8 of [1])
  • Virtual Memory (Chapter 9 of [1])
  • Input/Output and Network Programming (Chapters 10 and 11 of [1])
  • Threads and Synchronization (Chapter 12 of [1])

References:
Computer Systems: A Programmer's Perspective, 2nd edition. Randal E. Bryant and David R. O'Hallaron. Prentice Hall, 2011.
System Programming with C and Unix, Adam Hoover. Addison Wesley, 2010.


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 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.



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.


GPH 321 Computer Graphics Development I


This course provides in-depth knowledge of linear algebra and its use in the fundamental techniques of computer graphics.

Topics:

  • Points and Vectors
  • Vector arithmetic and fundamental operations, dot product, cross product, projection (Graham-Schmitt orthogonalization)
  • Linear Transformations and Matrices
  • Homogeneous coordinates for vectors and points
  • Rotation, Scale and Translation matrices in 3D, 4x4 representations
  • Matrix inversion
  • Ray-Sphere and Ray-Triangle intersection
  • The Phong Illumination Model: ambient, diffuse and specular reflectance

References:
Math For 3D Game Programming & Computer Graphics, 2nd Edition, Eric Lengyel, Charles River Media.


HCI 302 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.


IM 230 Scripting For Interactive Media


Topics:

 

  • Flash – symbols and instances, MovieClips, TextFields, Buttons
  • Using ActionScript in the Flash Environment – document and symbol classes
  • Variables, assignment statements, expressions
  • Classes, objects, properties and methods
  • Event listeners
  • Conditionals
  • Loops
  • Display list programming – creating and positioning display objects, nested symbols
  • Arrays

References:
Foundation ActionScript 3.0 for Flash and Flex by Paul Milbourne, Darren Richardson, friends of ED; 1 edition (June 2, 2010), ISBN-10: 1430219181, ISBN-13: 978-1430219187

Essential ActionScript 3.0 by Colin Moock, O'Reilly Adobe Dev Library; 1 edition (June 22, 2007), ISBN-10: 0596526946, ISBN-13: 978-0596526948

Flash CS4 Professional Bible by Reinhardt and Dowd, Wiley; Pap/Cdr edition (February 9, 2009), ISBN-10: 0470379189, ISBN-13: 978-0470379189


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 here.
Note: Self-tests do not substitute for Graduate Assessment Exams to fulfill a student's prerequisite phase requirements. Self-tests are a method for a student to conduct a personal evaluation about his or her knowledge in a subject area.

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.
Note: Self-tests do not substitute for Graduate Assessment Exams to fulfill a student's prerequisite phase requirements. Self-tests are a method for a student to conduct a personal evaluation about his or her knowledge in a subject area.

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


Self test availabale here.
Note: Self-tests do not substitute for Graduate Assessment Exams to fulfill a student's prerequisite phase requirements. Self-tests are a method for a student to conduct a personal evaluation about his or her knowledge in a subject area.

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 240 Introduction to Desktop Databases


Self test available here.
Note: Self-tests do not substitute for Graduate Assessment Exams to fulfill a student's prerequisite phase requirements. Self-tests are a method for a student to conduct a personal evaluation about his or her knowledge in a subject area.

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.

 

 

IT 263- Applied Networks and Security

 

  • Internet basics and history
    • Major organizations: ISPs, IETF, ICANN, IANA
    • Be able to explain protocol stacks and use of multiple packet headers
  • Ethernet
    • Cabling used in Ethernet – twisted pair vs. coax vs. fiber
    • Wired IEEE 802.3 standards
      • 10Base5, 10Base2, 10BaseT, 100BaseT, 1000BaseT, 10GBaseT, 100BaseF, 1000BaseF
    • Wi-Fi LANs
      • Basic properties of IEEE 802.11a, 802.11b, 802.11g, 802.11n
      • Ad-hoc vs. Infrastructure vs. Mesh mode
    • CSMA/CD – purpose and operation
    • Contents of Ethernet frame header / trailer field
    • Advantages and disadvantages of switched Ethernet vs. shared Ethernet
    • Ethernet switches
      • How data packets are forwarded using Forwarding Table
      • How new entries are added to Forwarding Table
      • Purpose of Spanning Tree Protocol
    • Virtual LANs
  • TCP/IP Networking
    • IP protocol - Purpose of each IP header field
      • Private vs. Public IP addresses
    • TCP protocol
      • Purpose of each TCP header field
      • Port numbers – use and purpose
    • UDP protocol
      • UDP header fields and purpose of each
      • Differences between TCP and UDP
    • DNS services
      • How DNS address lookup is done
      • Basic contents of DNS database
    • ARP protocol and ARP tables,
      • IP Subnetting
      • How to break down IP address into network, subnet and host parts
      • Format and use of Subnet Masks
      • Determine correct subnet mask for given number of subnets or IP addresses per subnet.
      • Calculating Subnet ID, Broadcast address and range of useable IP addresses for given IP address and mask
    • IP Router operations
      • Contents of Routing Table
      • How packets are forwarded through a router using the Routing Table
      • Use of ARP tables in routers
    • Network Address Translation (NAT)
  • Security
    • Basic types of security: Computer, Information and Network security
    • Malware
      • Types of malware: viruses, Trojans, worms
      • Common malware: keystroke capture, spyware, ‘bot’ software
      • Distribution methods
      • Social engineering and phishing
    • Network attack types
      • IP spoofing
      • Port scanning and open TCP/UDP ports
      • Denial of service attacks
      • Dialog attacks
    • Defenses
      • Server hardening
      • Encryption
        • Symmetric (Private) Key cryptography
          • Basic properties of DES, 3DES, AES, WEP, WPA, WPA2
          • Diffie-Hellman key exchange
        • Public Key cryptography
          • Basic concepts – what do Public and Private keys do?
          • Advantages/Disadvantages over Private Key
          • What is Digital Signature and how is it implemented?
          • What are the elements of a PKI?
      • Authentication
        • Token authentication
        • Biometric authentication
        • Authentication using Digital Signatures
      • Firewalls
        • Differences between Packet Filtering, Stateful and Proxy firewalls
        • Purpose and contents of firewall rules table
        • Use of DMZ
      • Intrusion Detection Systems
        • Types of IDS – signature-based vs. anomaly-based
      • Virtual Private Networks (VPNs)
        • What is a private network?.
        • Types of VPNs – remote-access vs. site-to-site
        • VPN implementations – SSL vs. IPsec
          • IPsec – Tunnel mode vs. transport mode

 

MAT 150/151 Calculus I and II for MS in Computational Finance


This exam is available for students in the MS degree in Computational Finance only. Topics:

  • knowledge of basic functions (polynomials, sin, cos, log, exp) and their inverse
  • limits (should be able to compute limit of any function)
  • derivatives (should be able to derive any function)
  • partial derivatives
  • Taylor expansion
  • symbolic integration of functions of one variable (including integration by parts, substitution method, and improper integrals)
  • study of functions (zeros, min, max, asymptotes)
  • geometrical interpretation of derivative and integrals

References: http://ocw.mit.edu/ans7870/resources/Strang/Edited/Calculus/Calculus.pdf (freely available online)

 

SE 325 Principles and Practices of Software Engineering


Selt test available here.
Note: Self-tests do not substitute for Graduate Assessment Exams to fulfill a student's prerequisite phase requirements. Self-tests are a method for a student to conduct a personal evaluation about his or her knowledge in a subject area.

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 261 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 the difference between a hub and a switch; basics of routers 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. ​​​​​