Graduate Assessment Exams
-
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 310 Internet Application Development
-
GPH 212 Perceptual Principles for Digital Environments II
-
GPH 259 Design Geometry
-
HCI 402 Principles of Digital Design
-
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
-
SE 325 Principles and Practices of Software Engineering
-
TDC 311 Computers in Telecommunications
-
TDC 361 Basic Communication Systems
- 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.
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.
Self test available here.
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.
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.
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.
Topics:
- Flow of Control
- Functions
- Parameters and Overloading
- Arrays
- Structures and Classes
- Graphics
- Strings
References:
Absolute C++, Walter Savitch, Addison-Wesley.
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
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Self test available here.
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.
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.
Self test availabale here.
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.
Self test available here.
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.
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.
Selt test available here.
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.
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.
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.