COURSE EXPECTATIONS COURSE CODE: COSC 1666 COURSE

advertisement
COURSE EXPECTATIONS
COURSE CODE: COSC 1666 COURSE NAME: ENGINEERING GRAPHICS
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces engineering graphics, design, and engineering communication. In addition to a theoretical
foundation, students will gain practical, project-based experience using industry-standard software. Topics include
drafting, descriptive geometry, projections, drawing techniques, dimensioning and annotation, solid modeling, and
visualization in engineering applications.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. COMMUNICATE ENGINEERING IDEAS THROUGH DRAWINGS.
2. EXPLAIN, CONTRAST, AND COMPARE COMPUTER AIDED DRAWING, MANUFACTURING, AND
ENGINEERING.
3. PLAN, CREATE, AND ANALYZE MEANINGFUL ENGINEERING DRAWINGS WITH AN INDUSTRYSTANDARD COMPUTER-AIDED DESIGN (CAD) SYSTEM.
4. ANNOTATE AND DOCUMENT ENGINEERING DRAWINGS.
5. DEMONSTRATE THE PROCESS OF CREATING AND REVISING ENGINEERING DRAWINGS BY
CREATING DETAILED ENGINEERING DRAWINGS FROM SPECIFICATIONS.
6. DRAW A FLOWCHART OF THE COMPUTERIZED AND AUTOMATED MANUFACTURING PROCESS.
7. WRITE AND TEST NON-TRIVIAL COMPUTER SCRIPTS THAT PERFORM USEFUL FUNCTIONS IN A
CAD SYSTEM.
8. PLAN, CREATE ANALYZE, AND ANNOTATE 2D MULTIVIEW AND ISOMETRIC TECHNICAL
DRAWINGS.
9. SOLVE PROBLEMS AND PERFORM CALCULATIONS IN DESCRIPTIVE GEOMETRY.
10. PLAN, CREATE ANALYZE, AND ANNOTATE 3D ENGINEERING DRAWING.
11. DESCRIBE AND DISSEMINATE WRITTEN WORK THROUGH FULLY DOCUMENTED AND CLEAR
TECHNICAL REPORTS.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND
METHODOLOGIES IN ENGINEERING GRAPHICS, AND THE ROLE OF CAD IN MODERN
MANUFACTURING AND INDUSTRIAL PROCESSES.
2. AN ABILITY TO USE THE MAIN FEATURES OF AN INDUSTRY-STANDARD CAD PACKAGE
(AUTOCAD).
3. AN ABILITY TO PLAN, WRITE, AND REVISE TECHNICAL REPORTS (THROUGH LABORATORY
WORK).
4. AN ABILITY TO WRITE SIMPLE, YET MEANINGFUL AND USEFUL FUNCTIONS IN A
SCRIPTING LANGUAGE, AS DEMONSTRATED THROUGH LABORATORY WORK.
5. AN ABILITY TO PLAN, IMPLEMENT, ANALYZE, AND ANNOTATE 2D AND 3D ENGINEERING
DRAWINGS.
6. A BASIC ABILITY TO WORK IN SMALL GROUPS.
7. AN ABILITY TO COMMUNICATE ENGINEERING DESIGN CONCEPTS, BOTH ORALLY AND IN
WRITING.
8. AN ABILITY TO SOLVE MATHEMATICAL PROBLEMS ARISING IN DESCRIPTIVE GEOMETRY
RELEVANT TO ENGINEERING GRAPHICS AND DRAWING.
COURSE EXPECTATIONS
COURSE CODE: COSC 1757 COURSE NAME: DIGITAL SYSTEMS
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course will introduce the basics of digital system design. Topics include: number systems and Boolean Algebra;
minimization of logic functions; integrated circuits; implementation of logic functions; design of combinational circuits, sequential
devices and synchronous sequential circuits; counters, registers, memory devices, interfacing; processor design and
microprogramming.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE AND UNDERSTAND OF THE IMPLICATIONS OF THE BOOLEAN ALGEBRA, DISCRETE
MATHEMATICS, AND THE NUMBER SYSTEMS TO THE DIGITAL SYSTEMS.
2. DEMONSTRATE UNDERSTANDING OF THE BASIC LAWS OF ELECTRICITY AND THEIR IMPORTANCE
FOR DIGITAL SYSTEMS
3. DEMONSTRATE THE ABILITY OF IMPLEMENTING THE MATHEMATICAL KNOWLEDGE TO A DESIGN
OF THE COMBINATIONAL AND SEQUENTIAL SYSTEMS
4. DEMONSTRATE UNDERSTANDING OF THE COMBINATIONAL SYSTEMS AND THE METHODS OF
THEIR MINIMIZATION BY APPLYING DE MORGAN’S LAWS AND OTHER BOOLEAN ALGEBRA LAWS
5. DEMONSTRATE THE UNDERSTANDING OF THE SEQUENTIAL SYSTEMS AND BEING ABLE TO MAKE
THEIR MATHEMATICAL MODELS
6. DEMONSTRATE THE UNDERSTANDING OF THE BASIC CONCEPTS OF THE COMPUTER HARDWARE
SUCH AS MEMORY DEVICES, SHIFT REGISTERS AND MICROPROCESSORS
7. DESIGN A VARIETY OF THE COMBINATIONAL AND SEQUENTIAL COMPUTER HARDWARE
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF SOME KEY CONCEPTS AND METHODOLOGIES
IN DIGITAL SYSTEMS BY BEING ABLE TO APPLY MATHEMATICAL MODELS OF THE SYSTEMS
2. UNDERSTANDING OF THE BASIC LAWS OF ELECTRICITY AND ITS APPLICATION TO THE DIGITAL
SYSTEMS BY APPLYING THE KIRCHHOFF LAWS
3. INITIAL ABILITY TO READ, UNDERSTAND, AND ANALYZE INTRODUCTORY TEXTBOOKS IN DIGITAL
SYSTEMS AND MACHINE STRUCTURES
4. INITIAL ABILITY TO THINK INDEPENDENTLY
5. INITIAL ABILITY TO COMMUNICATE DIGITAL SYSTEMS CONCEPTS, APPLICATIONS AND DEIGN AS
WELL AS THEIR LIMITATIONS IN COMPUTER TECHNOLOGY
6. UNDERSTAND THE BASICS OF MACHINE STRUCTURES IN THE AREA OF THE SPECIFICATION,
DESIGN, IMPLEMENTATION AND USE AS STATED IN THE ACM/IEEE COMPUTING CURRICULA
RECOMMENDATIONS.
7. ABILITY TO APPLY THE METHODS LEARNED IN THE COURSE TO DESIGN OF THE COUNTERS AND
OTHER SEQUENTIAL SYSTEMS
COURSE EXPECTATIONS
COURSE CODE: COSC 2007 COURSE NAME: DATA STRUCTURES II
FACULTY MEMBER: RENATA SMOLIKOVA-WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces data structures and their algorithms. Topics include: self-adjusting lists, binomial
heaps, binary search trees, balanced trees, B-trees, and recursive programming.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE AN UNDERSTANDING OF ADVANCED TREES AND THEIR APPLICATIONS BY
DESCRIBING THE MAIN CHARACTERISTICS OF RED-BLACK, AVL, N-ARY, AND B+ TREES.
2. DISCUSS USEFUL APPLICATIONS OF ADVANCED TREE DATA STRUCTURES.
3. DISCUSS TREE-BALANCING STRATEGIES AND THEIR IMPORTANCE.
4. DEMONSTRATE AN UNDERSTANDING OF GRAPHS AND THEIR APPLICATIONS BY DESCRIBING
GRAPH CHARACTERISTICS AND COMPONENTS (EDGES, VERTICES, ETC.).
5. DESCRIBE SOME OF THE MAIN THEORETICAL RESULTS OF GRAPH THEORY (I.E. SHORTEST PATH,
ETC.).
6. DISCUSS USEFUL APPLICATIONS OF GRAPH DATA STRUCTURES.
7. DEMONSTRATE AN UNDERSTANDING OF HASH TABLES BY COMPLETELY WORKING A CODING
EXAMPLE.
8. DESCRIBE AND FULLY DOCUMENT RECURSIVE ALGORITHMS.
9. CHOOSE AN APPROPRIATE DATA STRUCTURE FOR A GIVEN APPLICATION, AND DISCUSS WHY THAT
CHOICE WAS MADE.
10. DISCUSS THE COMPUTATIONAL EFFICIENCY OF INSERTING AND RETRIEVING DATA FROM
VARIOUS DATA STRUCTURES.
11. ANALYZE ALGORITHMS AND COMPUTE EXPRESSIONS FOR THEIR COMPUTATIONAL COMPLEXITY
USING STANDARD TERMINOLOGY (E.G. “BIG-OH” NOTATION).
12. DESCRIBE THE CONCEPT OF SELF-ADJUSTING DATA STRUCTURES AND THEIR APPLICATIONS IN
FUTURE SOFTWARE DEVELOPMENT.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. AN UNDERSTANDING OF ABSTRACT DATA TYPES (TREES, GRAPHS, HASH STRUCTURES,
ADAPTIVE ALGORITHMS).
2. AN ABILITY TO DISCERN AND TO SELECT VARIOUS DATA STRUCTURES TO SOLVE SPECIFIC
PROBLEMS.
3. AN ABILITY TO USE DATA STRUCTURES PROPERLY.
4. AN ABILITY TO IMPLEMENT AND USE ADVANCED SEARCHING AND SORTING TECHNIQUES
WITH A STANDARD HIGH-LEVEL PROGRAMMING LANGUAGE.
5. AN ABILITY TO WRITE PROGRAMS EMPLOYING SEVERAL OF THE DATA STRUCTURES
COVERED.
6. THE ABILITY TO ANALYZE ALGORITHMS FOR COMPUTATIONAL COMPLEXITY.
7. A GROWTH IN THE ABILITY TO THINK INDEPENDENTLY.
8. AN ABILITY TO CRITICALLY READ AND TO ANALYZE BASIC LITERATURE DEVOTED TO
ALGORITHM ANALYSIS.
9. THE ABILITY TO WRITE RECURSIVE ALGORITHMS IN A HIGH-LEVEL PROGRAMMING
LANGUAGE.
10. AN UNDERSTANDING OF THE FIELD OF ANALYSIS OF ALGORITHMS, AND WHY IT IS
IMPORTANT IN BOTH THEORETICAL AND APPLIED COMPUTER SCIENCE.
COURSE EXPECTATIONS
COURSE CODE: COSC 2106 COURSE NAME: MACHINE STRUCTURES I
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces basic components and computer structured organization. Topics include: combinational circuits,
sequential circuits, memories, microprocessors, interfacing; microprogramming, microarchitecture, machine language,
addressing, instructions, computer arithmetic; introduction to operating systems, assembly language programming and
assembly process.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE UNDERSTANDING OF COMPUTER ARITHMETIC INCLUDING THE
REPRESENTATION AND OPERATIONS ON INTEGERS, SIGNED NUMBERS AND FLOATING POINTS.
2. DEMONSTRATE UNDERSTANDING OF BOOLEAN ALGEBRA AND DIGITAL LOGIC BY BEING ABLE TO
APPLY THEM TO ANALYSIS OF COMPUTER HARDWARE.
3. DEMONSTRATE UNDERSTANDING COMPUTER ARCHITECTURE, SPECIFICALLY INSTRUCTION
FORMATS, INSTRUCTION TYPES, ADDRESSING, PIPELINING , SEVERAL ISA EXAMPLES.
4. DEMONSTRATE UNDERSTANDING OF MACHINE LANGUAGE AND ASSEMBLY LANGUAGE BY
WRITING SIMPLE PROGRAMS IN BOTH LANGUAGES
5. DEMONSTRATE UNDERSTANDING OF COMPILERS, ASSEMBLERS AND OPERATING SYSTEMS BY
BEING ABLE TO DISTINGUISH AMONG THE VARIETY OF SOFTWARE
6. DEMONSTRATE UNDERSTANDING OF INTERRUPTS, TRAPS, RESOURCE PROTECTION
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. SOME UNDERSTANDING OF HISTORICAL DEVELOPMENT OF COMPUTER SCIENCE AND ITS
PRESENT STRUCTURE
2. BROAD UNDERSTANDING OF MAIN TOPICS IN COMPUTER SCIENCE, INCLUDING COMPUTER
HARDWARE, SUCH AS MEMORIES, INPUT/OUTPUT, STORAGE SYSTEMS, MICROPROCESSORS
3. BROAD UNDERSTANDING OF MAIN TOPICS IN SOFTWARE SUCH AS MACHINE LANGUAGE,
ASSEMBLY LANGUAGE, ASSEMBLERS AND COMPILERS
4. UNDERSTANDING OF STANDARD PROBLEM-SOLVING IDEAS AND TECHNIQUES IN COMPUTER
SCIENCE USING THE ASSEMBLY LANGUAGE
5. INITIAL ABILITY TO GATHER, COMPREHEND AND ANALYZE NEW COMPUTER SCIENCE
KNOWLEDGE FROM VARIOUS SOURCES
6. ABILITY TO UNDERSTAND AND WRITE SIMPLE PROGRAMS IN ASSEMBLY LANGUAGE
7. ABILITY TO COMMUNICATE COMPUTER SCIENCE IDEAS RELATED TO COMPUTER HARDWARE
BOTH ORALLY AND IN WRITING
COURSE EXPECTATIONS
COURSE CODE: COSC 2107 COURSE NAME: MACHINE STRUCTURES II
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course is the continuation of COSC2106. Topics include: microprogrammed control, assembly language
programming techniques, macroassemblers, conditional assembly, and practical application of assembly language
programming.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE THEORETICAL AND PRACTICAL KNOWLEDGE OF MACHINE ARCHITECTURE AND
2.
3.
4.
5.
6.
7.
8.
INTERFACES BY BEING ABLE TO SET UP HARDWARE AND SOFTWARE COMPONENTS FOR SIMPLE
INTERFACE SYSTEMS
DEMONSTRATE DEEPER UNDERSTANDING OF ASSEMBLY LANGUAGE PROGRAMMING THROUGH
ITS APPLICATIONS TO THE ROBOTICS AND OTHER REAL-TIME PROCESSES BY BEING ABLE TO
WRITE THE SIMPLE PROGRAMS
DEMONSTRATE UNDERSTANDING OF ADDRESS DECODING
DEMONSTRATE UNDERSTANDING OF DATA INPUT AND OUTPUT HARDWARE AND ASSEMBLY
LANGUAGE INSTRUCTIONS
DEMONSTRATE UNDERSTANDING OF UNIVERSAL RECEIVERS-TRANSMITTERS, INCLUDING THE
MUART
APPLY ASSEMBLY LANGUAGE PROGRAMS TO THE UNIVERSAL RECEIVERS-TRANSMITTERS.
MAKE ASSEMBLY LANGUAGE PROGRAMS FOR THE SERIAL DATA COMMUNICATION, A/D
CONVERTERS AND MICROPROCESSOR/DAC INTERFACING
CREATE THE ASSEMBLY LANGUAGE PROGRAMS FOR THE MICROPROCESSOR CONTROL OF REAL
TIME PROCESSES IN APPLICATION TO ROBOTICS
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. GOOD UNDERSTANDING OF MICROPROCESSOR INTERFACING AND APPLICATIONS
2. INITIAL ABILITY TO APPLY THE I/O HARDWARE TO REAL-LIFE PROBLEMS AND TO CREATE
SOLUTIONS FOR SUCH PROBLEMS, IN PARTICULAR IN THE FORM OF ASSEMBLY LANGUAGE
CODES
3. ABILITY TO CREATE ALGORITHMS AND ASSEMBLY LANGUAGE PROGRAMMING CODE
4. UNDERSTANDING OF STANDARD PROBLEM-SOLVING IDEAS AND TECHNIQUES IN COMPUTERS
SCIENCE, SPECIFICALLY IN THE AREA OF REAL TIME CONTROL APPLIED TO ROBOTICS
5. INITIAL ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW KNOWLEDGE ON ASSEMBLY
LANGUAGE REAL TIME PROGRAMMING, FROM VARIOUS SOURCES
6. ABILITY TO COMMUNICATE COMPUTER SCIENCE IDEAS RELATED TO COMPUTER I /O HARDWARE
, AND SOME REAL TIME CONTROL BOTH ORALLY AND IN WRITING
7. ABILITY TO SOLVE THE REAL TIME CONTROL WITH PROGRAMMABLE DEVICES, LIKE MUART, AND
RELATED TO SERIAL COMMUNICATION, HANDSHAKING AND REAL-TIME CONTROL
APPLICATIONS.
8. UNDERSTAND THE BASICS OF MACHINE STRUCTURES IN THE AREA OF THE SPECIFICATION,
DESIGN, IMPLEMENTATION AND USE AS STATED IN THE ACM/IEEE COMPUTING CURRICULA
RECOMMENDATIONS
COURSE EXPECTATIONS
COURSE CODE: COSC 2116 COURSE NAME: ARTIFICIAL NEURAL NETWORKS
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course will introduce principles of Artificial Neural Networks (ANN) computing and its applications. The key
models of ANN will be presented and analyzed. Multilayer feedforward networks and Hopfield networks, the
principles of Boltzman machines, supervised and unsupervised learning will be presented and discussed. Several
applications of ANN will be analyzed, among them applications to mathematical logic, pattern and image recognition
and system control. Students will create and analyze their own models of ANN.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE UNDERSTANDING OF THE CONCEPT OF MOST OF EXISTING ANNS, INCLUDING
SUPERVISED AND NON-SUPERVISED ANNS
2. DEMONSTRATE DEEPER UNDERSTANDING OF LINEAR SEPARABILITY
3. DEMONSTRATE UNDERSTANDING OF HEBBIAN LEARNING
4. DEMONSTRATE UNDERSTANDING OF AN ARTIFICIAL NEURON, PERCEPTRON AND ADALINE
5. APPLY THE COMPETITIVE LEARNING USING THE KOHONNEN MAPS
6. MAKE COMPUTER MODELS OF SEVERAL TYPES OF THE ANN WITH SUPERVISED LEARNING
7. MAKE COMPUTER MODELS OF SEVERAL TYPES OF THE ANN WITH UNSUPERVISED LEARNING
8. MAKE CODES FOR THE APPLIED PATTERN AND IMAGE RECOGNITION ANNS
9. CREATE CODES FOR THE VARIETY OF THE ANNS, INCLUDING FEEDFORWARD,
BACKPROPAGATION AND COUNTER PROPAGATION ANNS
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. GOOD UNDERSTANDING AND ABILITY TO CREATE THE COMPUTER MODELS OF THE ANN,
INCLUDING PATTERN CLASSIFICATORS AND ASSOCIATORS, COMPETITIVE NETS,
BACKPROPAGATION NETS, AND MANY OTHER
2. ABILITY TO ANALIZE THE REAL LIFE PROBLEMS AND APPLY THE ANN TECHNIQUES TO SOLVE
THOSE PROBLEMS
3. INITIAL ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW COMPUTER SCIENCE
KNOWLEDGE ON ANN FROM VARIOUS SOURCES
4. ABILITY TO COMMUNICATE COMPUTER SCIENCE IDEAS RELATED TO THE ANNS
5. UNDERSTAND THE BASICS OF ANNS IN THE AREA OF THE SPECIFICATION, DESIGN,
IMPLEMENTATION AND USE AS STATED IN THE ACM/IEEE COMPUTING CURRICULA
RECOMMENDATIONS
COURSE EXPECTATIONS
COURSE CODE: COSC 2206 COURSE NAME: MATHEMATICAL COMPUTATION
FACULTY MEMBER: RENATA SMOLIKOVA-WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course provides an introduction to MATLAB, MAPLE or other math computation software. Topics
include: problem-solving techniques in several domains of mathematics – calculus, algebra, differential
equations, and statistics; symbolic mathematics problem solving; applications to artificial intelligence and
image and voice processing; analysis and simulation of dynamic linear and non-linear systems; and several
other practical applications. This course may be credited towards Mathematics.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE A KNOWLEDGE OF ARRAYS AND ARRAY OPERATIONS, MULTIDIMENSIONAL
ARRAYS, AND CELL ARRAYS AND STRUCTURES.
2. WORK WITH CHARACTER STRINGS, CONTROL FLOW, AND RELATIONAL AND LOGICAL OPERATIONS
IN MATHEMATICAL COMPUTATION.
3. DEMONSTRATE AN UNDERSTANDING OF MATHEMATICAL SOFTWARE, HIGH-LEVEL LANGUAGES,
AND SCRIPTING LANGUAGES.
4. APPLY KNOWLEDGE OF MATRIX ALGEBRA AND MATRICES.
5. APPLY TWO AND THREE-DIMENSIONAL GRAPHICS AS IT IS USED IN MATHEMATICAL
COMPUTATION.
6. DEMONSTRATE AN UNDERSTANDING OF BASIC IMAGING TECHNIQUES BY MODIFYING IMAGE
DATA AND MANIPULATING MATRICES.
7. DISCUSS APPLICATIONS OF SCIENTIFIC ALGORITHMS AND MATHEMATICAL COMPUTATION.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A FUNDAMENTAL KNOWLEDGE AND PRACTICAL ABILITIES IN MATHEMATICAL
FRAMEWORKS, ESPECIALLY MATLAB AND MAPLE, AND THE ABILITY TO UTILIZE THESE
TOOLS IN SCIENTIFIC COMPUTATIONS AND VISUALIZATION.
2. A GENERAL KNOWLEDGE AND UNDERSTANDING OF PROBLEM SOLVING USING
MATHEMATICAL TOOLS (MATLAB AND MAPLE).
3. AN ABILITY TO PROGRAM SCRIPTS AND FUNCTIONS USING MATHEMATICAL
DEVELOPMENT ENVIRONMENT.
4. AN ABILITY TO CREATE 2D AND 3D MATHEMATICAL PLOTS AND TO UNDERSTAND THEIR
MEANINGS.
5. A KNOWLEDGE OF DATA STRUCTURES IN MATHEMATICAL ENVIRONMENTS, INCLUDING,
STRINGS, CONSTANTS, VECTORS, MATRICES, AND MULTIDIMENSIONAL DATA.
6. THE ABILITY TO IMPLEMENT SCIENTIFIC ALGORITHMS USING MATLAB.
COURSE EXPECTATIONS
COURSE CODE: COSC 2406 COURSE NAME: INTRODUCTION TO GAME DESIGN AND
DEVELOPMENT
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the fundamental issues in computer game design, development, interfaces, and programming.
Important aspects of game design, including game balance and level design, storytelling and narrative, basic game
architecture, graphical representation of scenes, user interaction, game hardware and consoles, and game development
toolkits will be presented.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE INDUSTRY-SPECIFIC TERMS USED IN THE COMPUTER GAME INDUSTRY.
2. DOCUMENT THE GAME DEVELOPMENT PROCESS FROM IDEATION TO DELIVERABLE.
3. DRAW A FLOWCHART OF THE ITERATIVE PROCESSES INVOLVED IN GAME DESIGN AND
DEVELOPMENT.
4. COMPARE, ANALYZE, COMPARE, AND CONTRAST GOOD AND POOR EXAMPLES OF GAME WORLDS IN
REAL GAMES.
5. IDENTIFY GOOD AND POOR EXAMPLES OF GAME USER INTERFACES, AND EXPLAIN WHAT MAKES
THEM GOOD OR BAD.
6. EXPLAIN HOW “SERIOUS GAMES” CAN BE USED FOR TRAINING, SIMULATION, HEALTH, AND
REHABILITATION BY DISCUSSING SPECIFIC SERIOUS GAMES, THEIR BENEFITS, AND THEIR
DESIGNS.
7. COMPARE AND CONTRAST DIFFERENT COMPUTER GAME HARDWARE PLATFORMS, DELINEATING
THEIR ADVANTAGES AND SHORTCOMINGS.
8. OUTLINE THE STRUCTURE OF A REAL-TIME PROGRAM.
9. DESCRIBE RENDERING HARDWARE: AUDIO, VISUAL, AND TACTILE, AND EXPLAIN THEIR
SAMPLING FREQUENCIES AND BASIC INTERCOMMUNICATIONS WITH COMPUTER HARDWARE .
10. DESCRIBING THE MAIN FEATURES AND FUNCTIONS OF A COMMERCIAL GAME ENGINE.
11. SELECT, STUDY, PRESENT, AND CRITIQUE A CURRENT TECHNICAL OR SCIENTIFIC PAPER IN THE
FIELD.
12. DEVELOP, WRITE, AND TEST A BASIC GAME COMPONENT IN A HIGH-LEVEL OR SCRIPTING
PROGRAMMING LANGUAGE.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND
METHODOLOGIES IN GAME DESIGN, DEVELOPMENT, AND TECHNOLOGY.
2. AN ABILITY TO PROGRAM SIMPLE, BUT MEANINGFUL SHORT PROGRAMS IN A SCRIPTING
LANGUAGE USED IN THE GAME INDUSTRY.
3. THE ABILITY TO DESIGN A RUDIMENTARY GAME.
4. THE ABILITY TO ANALYZE AND TO IDENTIFY THE COMPONENTS OF GAME ENGINES.
5. A FAMILIARITY WITH AND AN ABILITY TO PLAN, WRITE, AND ANALYZE, TEST, AND REVISE
SIMPLE PROGRAMS IN C, C++, C#, OR JAVA (THROUGH LABORATORY WORK).
6. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND
SCIENTIFIC DOCUMENTATION (THROUGH LABORATORY WORK).
7. AN ABILITY TO FIND, ACCESS, AND STUDY SCIENTIFIC AND TECHNICAL LITERATURE
RELATED TO GAME TECHNOLOGY.
8. AN UNDERSTANDING OF THE BENEFITS AND CHALLENGES IN SERIOUS GAMES.
9. A BASIC ABILITY TO WORK IN SMALL GROUPS.
10. AN ABILITY TO COMMUNICATE THE ENGINEERING ASPECTS OF GAME TECHNOLOGY.
11. AN ABILITY TO SEE FLAWS, ADVANTAGES, AND BENEFITS IN HUMAN COMPUTER
INTERACTION FOR GAMES.
COURSE EXPECTATIONS
COURSE CODE: COSC 2667 COURSE NAME: OPERATING SYSTEMS I
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13……2013-14
CALENDAR COURSE DESCRIPTION:
Operating systems are an essential part of any computer system. This course will provide students with the basic concept
of batch, time-sharing, multiprogramming and other operating systems. The students will examine the concepts of
operating systems’ structure, processes, threads, CPU scheduling, process synchronization, and storage management.
Students will be exposed to the Unix-like and other operating system environments.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE THEORETICAL KNOWLEDGE AND UNDERSTANDING OF THE BASIC TYPES OF
OPERATING SYSTEMS, ITS COMPONENTS AND CONCEPTS, INCLUDING THEIR ORGANIZATION,
OPERATIONS, PROCESS AND MEMORY MANAGEMENT, PROTECTION AND SECURITY
2. DEMONSTRATE UNDERSTANDING OF THE CONCEPT OF THE BATCH OS VS OTHER OSS
3. DEMONSTRATE UNDERSTANDING OF THE CONCEPT OF TIMESHARING AND
MULTIPROGRAMMING
4. DEMONSTRATE A PRACTICAL ABILITY OF SOLVING BASIC PROBLEMS IN THE DOMAIN OF
OPERATING SYSTEMS, INCLUDING SCHEDULING AND SYNCHRONIZATION
5. DEMONSTRATE DEEPER UNDERSTANDING OF THE OS AS EVENT DRIVEN AND IMPORTANCE OF
THE INTERRUPTS
6. DEMONSTRATE UNDERSTANDING OF THE THREADS, MULTITHREADING AND PROCESSES
7. DEMONSTRATE UNDERSTANDING OF THE CONCEPT OF DEADLOCKS AND ITS MODELING
8. DEMONSTRATE UNDERSTANDING OF THE CONCEPT OF MEMORY MANAGEMENT INCLUDING
SWAPPING, PAGING AND SEGMENTATION
9. DEMONSTRATE UNDERSTANDING OF THE CONCEPT OF LINUX OS, MAC OS, AND WINDOWS OS
ACQUIRED ON THE LAB SESSIONS.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. GOOD UNDERSTANDING OF THE CONCEPT OF THE MOST IMPORTANT OPERATING SYSTEMS,
INCLUDING UNIX, WINDOWS, MAC’ OS AND LINUX
2. GOOD UNDERSTANDING OF THE BASIC CONCEPTS OF THE OS, LIKE PROCESSES, THREADS, CPU
SCHEDULING, PROCESS SYNCHRONIZATION, DEADLOCKS, MEMORY MANAGEMENT, FILE
SYSTEM, I/O SYSTEMS
3. PRACTICAL KNOWLEDGE OF THE SOLARIS SYSTEM, WINDOWS 7 AND UBUNTU, BASED ON THE
LABS
4. ABILITY TO CREATE MODELS OF THE PROCESS SYNCHRONIZATION AND AND SCHEDULING
5. INITIAL ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW COMPUTER SCIENCE
KNOWLEDGE IN THE AREA OF OS FROM VARIOUS SOURCES
6. ABILITY TO COMMUNICATE COMPUTER SCIENCE IDEAS RELATED TO THE OS
7. UNDERSTAND THE BASICS OF ANNS IN THE AREA OF THE SPECIFICATION, DESIGN,
IMPLEMENTATION AND USE AS STATED IN THE ACM/IEEE COMPUTING CURRICULA
RECOMMENDATIONS
COURSE EXPECTATIONS
COURSE CODE: COSC 3006 COURSE NAME: NUMERICAL METHODS I
FACULTY MEMBER: RENATA SMOLIKOVA-WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course provides the mathematical background for numerical methods as well as a variety of computer
applications in the solution of practical problems. Topics covered include Taylor polynomials,
computer representation of numbers, error computation, root-finding, interpolation and approximation
methods, numerical differentiation and integration; the solution of systems of linear equations, and the
numerical solution of differential equations. This course may be credited towards Mathematics.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE KNOWLEDGE OF POLYNOMIAL APPROXIMATION OF FUNCTIONS (E.G. MCLAURIN
SERIES, TAYLOR SERIES, ETC.).
2. APPLY KNOWLEDGE OF BINARY NUMBERS AND FLOATING POINT FORMATS.
3. EXPLAIN THE IMPORTANCE OF ERROR IN NUMERICAL COMPUTATIONS, AND WHY ERROR MUST
BE FACTORED INTO ANY SOLUTION.
4. DEMONSTRATE AN UNDERSTANDING OF SOLVING EQUATIONS IN ITS VARIOUS FORMS BY USING
DIFFERENT METHODS.
5. DEMONSTRATE A BASIC UNDERSTANDING OF NUMERICAL ALGEBRA, AND ITS RELEVANT
ALGORITHMS.
6. DEMONSTRATE A BASIC UNDERSTANDING OF NUMERICAL APPROACHES IN CALCULUS.
7. DEMONSTRATE AN UNDERSTANDING OF THE FITTING OF DATA, INTERPOLATION AND LEAST
SQUARED METHODS AND IMPLEMENTING THESE METHODS.
8. DEMONSTRATE AN UNDERSTANDING OF NUMERICAL DIFFERENTIATION AND INTEGRATION BY
DIFFERENTIATING AND INTEGRATING FUNCTIONS THAT ARE HARD -TO-SOLVE ANALYTICALLY,
AND FUNCTIONS THAT HAVE NO ANALYTIC SOLUTION.
9. DEMONSTRATE AN UNDERSTANDING OF NUMERICAL METHODS BY IMPLEMENTING ALGORITHMS
FOR A VARIETY OF ENGINEERING, SCIENTIFIC, MATHEMATICAL, AND MULTIDISCIPLINARY
APPLICATIONS.
10. IMPLEMENT NUMERICAL ALGORITHMS IN A HIGH-LEVEL COMPUTER PROGRAMMING LANGUAGE,
E.G. MATLAB.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF THE THEORETICAL AND PRACTICAL
ASPECTS OF THE USE OF NUMERICAL METHODS.
2. AN ABILITY TO APPLY KNOWLEDGE OF CALCULUS AND MATRIX ALGEBRA TO CONSTRUCT
AND EXPLORE ALGORITHMS FOR SOLVING SCIENCE AND ENGINEERING PROBLEMS .
3. AN ABILITY TO ACCOUNT FOR THE ADVANTAGES AND DISADVANTAGES OF USING
NUMERICAL METHODS.
4. AN ABILITY TO ACCOUNT FOR ERROR IN NUMERICAL COMPUTATIONS.
5. AN ABILITY TO IMPLEMENT BASIC NUMERICAL ALGORITHMS IN A HIGH-LEVEL COMPUTER
LANGUAGE AND IN MATHEMATICAL SOFTWARE FRAMEWORKS, E.G. MATLAB AND MAPLE.
6. AN ABILITY TO READ, UNDERSTAND, AND ANALYZE SCIENTIFIC AND TECHNICAL
LITERATURE RELATED TO CONCEPTS IN NUMERICAL METHODS.
7. AN ABILITY TO WORK IN SMALL GROUPS AND TO PRESENT WORK BOTH ORALLY AND IN
WRITING.
COURSE EXPECTATIONS
COURSE CODE: COSC 3007 COURSE NAME: ARTIFICIAL INTELLIGENCE
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the history and applications of artificial intelligence. Topics include: state spaces and search strategies,
machine learning, genetic algorithms, artificial neural networks; capabilities and limitations of artificial intelligence; applications
in expert systems, natural languages, robotics, speech, and vision; interacting with an existing expert system; construction of a
small expert system; using artificial neural networks to perform image recognition and system control.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE A BROAD AND DETAILED KNOWLEDGE AND CRITICAL UNDERSTANDING OF THE
KEY CONCEPTS OF ARTIFICIAL INTELLIGENCE, SUCH AS INTELLIGENT AGENTS, KNOWLEDGE
AND REASONING, LEARNING, COMMUNICATING, PERCEIVING AND ACTING
2. DEMONSTRATE UNDERSTANDING AND ABILITY TO APPLY THE CONCEPTS OF STATE SPACES AND
SEARCH STRATEGIES TO REAL LIFE PROBLEMS
3. DEMONSTRATE UNDERSTANDING AND ABILITY TO APPLY MACHINE LEARNING CONCEPTS AND
GENETIC ALGORITHMS
4. DEMONSTRATE UNDERSTANDING AND ABILITY TO APPLY EXPERT SYSTEMS
5. DEMONSTRATE UNDERSTANDING AND ABILITY TO APPLY AI METHODOLOGIES TO ROBOTICS,
SPEECH AND VISION
6. DESIGN A VARIETY OF AI METHODOLOGIES TO IMAGE AND PATTERN RECOGNITION AND SYSTEM
CONTROL
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. ABILITY TO READ AND ANALYZE THE AI TEXTS
2. ABILITY TO ANALYZE AND APPLY THE AI KNOWLEDGE TO REAL-LIFE PROBLEMS AND CREATE
SOLUTIONS TO SUCH PROBLEMS
3. DEVELOP CRITICAL THINKING AND ADVANCED ANALYTICAL, PROBLEM-SOLVING SKILLS
4. ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW AI KNOWLEDGE FROM VARIOUS
SOURCES AND APPLY IT IN VARIOUS CONTEXTS
5. ABILITY TO COMMUNICATE AI IDEAS, ALGORITHMS, QUESTIONS, SOLUTIONS, BOTH ORALLY AND
6.
7.
IN WRITING
ABILITY TO WORK IN TEAMS IN ORDER TO SOLVE THE COMPLEX AI PROBLEMS
A BROAD UNDERSTANDING OF THE AI IN THE AREA OF THE SPECIFICATION, DESIGN,
IMPLEMENTATION AND USE AS STATED IN THE ACM/IEEE COMPUTING CURRICULA
RECOMMENDATIONS.
COURSE EXPECTATIONS
COURSE CODE: COSC 3017 COURSE NAME: INTRODUCTION TO ROBOTICS
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the basic concepts and components of robotics. The hardware of robot manipulators and mobile robot and
the resulting theoretical background will be discussed. The concept of environmental feedback and sensors necessary for the robots,
including intelligent ones, will also be discussed. Some mobile robotics concepts will be introduced, including: path planning,
localization, obstruction avoidance and mapping, and SLAM problems. The elements of robotic vision will also be introduced.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE A BROAD AND DETAILED KNOWLEDGE OF THE KEY CONCEPTS OF ROBOTICS,
INCLUDING I/O HARDWARE, STABILITY, SENSORS, END EFFECTORS, VISUAL SENSING,
PLANNING, NAVIGATION AND SLAM PROBLEMS
2. DEMONSTRATE THE UNDERSTANDING AND ABILITY TO APPLY THE CONCEPTS OF
3.
4.
5.
6.
ENVIRONMENTAL FEEDBACK AND SENSORS AND BE ABLE TO APPLY ASSEMBLY LANGUAGE
PROGRAMS TO CONTROL THOSE SENSORS
APPLY AI TO ROBOTICS SOLUTIONS INCLUDING ANN METHODS FOR IMAGE AND PATTERN
RECOGNITION
APPLY PATH PLANNING, LOCALIZATION, OBSTRUCTION AVOIDANCE AND MAPPING INCLUDING
THE PROBLEMS OF GLOBAL AND LOCAL PLANNING, VORONOI DIAGRAMS, MONTE-CARLO
METHODS,
APPLY ROBOTICS METHODOLOGIES TO SLAM PROBLEMS SUCH AS MAP GENERATION, VESCO AND
GRIDSLAM AND FASTSLAM AND GMAPPING UTILITIES,
DESIGN ROBOTIC VISION SYSTEMS AND METHODS SUCH AS FEATURE TRACKING METHODS , ANN
METHODS, THE OPTICAL FLOW UTILITIES, FEATURE TRACKING, AND EDGE DETECTION.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. ABILITY TO READ, UNDERSTAND , AND ANALYZE THE ROBOTICS TEXTS INCLUDING THE NOVEL
ROBOT APPLICATIONS IN MEDICINE, SPACE SCIENCES, EDUCATION AND MANY OTHER
2. ABILITY TO SET THE NETWORK COMMUNICATION WITH ROBOTS AS WELL AS ABILITY TO CREATE
THE ROBOT CONTROL PROGRAMS
3. GOOD UNDERSTANDING OF ROBOT CONTROL ARCHITECTURE (DELIBERATIVE, REACTIVE,
HYBRID, BEHAVIOUR-BASED) AS WELL AS THE ASPECTS OF TIME SCALE, MODULARITY AND
REPRESENTATION
4. GOOD UNDERSTANDING OF EMERGENT BEHAVIOURS, NAVIGATION, ROBOT LEARNING, AI AND
GROUP ROBOTICS
5. DEVELOP CRITICAL THINKING AND ADVANCED ANALYTICAL, PROBLEM-SOLVING SKILLS
ALLOWING TO CREATE THE STRATEGIC CONCEPTS FOR VARIETY OF ROBOT APPLICATIONS
6. ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW ROBOTICS KNOWLEDGE FROM VARIOUS
SOURCES AND APPLY IT IN VARIOUS CONTEXTS
7. ABILITY TO COMMUNICATE ROBOTICS IDEAS, QUESTIONS, SOLUTIONS, BOTH ORALLY AND IN
WRITING
8. A BROAD UNDERSTANDING OF THE ROBOTICS IN THE AREA OF THE SPECIFICATION, DESIGN,
IMPLEMENTATION AND USE AS STATED IN THE ACM/IEEE COMPUTING CURRICULA
RECOMMENDATIONS.
COURSE EXPECTATIONS
COURSE CODE: COSC 3206 COURSE NAME: THEORY OF COMPUTATION
FACULTY MEMBER: RENATA SMOLIKOVA-WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
The course introduces the theory of computability, automata theory and formal languages. The topics include
automata and regular, context-free and context-sensitive languages, general theory of computability including
Turing machines, recursive functions, decidability and undecidability. Approaches to formal program
semantics are presented and analyzed, leading to an introduction to formal program verification.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE AN UNDERSTANDING OF WHAT COMPUTATION ENTAILS.
2. DISCUSS THE PRACTICAL NEED FOR A THEORY OF COMPUTING.
3. DEMONSTRATE AN UNDERSTANDING OF THE BASIC CONCEPTS BY ANALYSING AND DESIGNING
FINITE AUTOMATA, PUSH-DOWN AUTOMATA, AND TURING MACHINES.
4. SPECIFY FORMAL LANGUAGES AND GRAMMARS BY DRAWING A CHART OF THE GRAMMARS.
5. DEMONSTRATE AN UNDERSTANDING OF COMPUTABILITY, DECIDABILITY, UNDECIDABILITY, AND
COMPLEXITY THROUGH PROBLEM SOLVING.
6. DEMONSTRATE AN UNDERSTANDING OF CHURCH-TURING THESIS BY DISCUSSING ITS
IMPORTANCE.
7. DEFINE CLASSES P, NP, THE NOTIONS OF POLYNOMIAL TIME REDUCTION, NP-HARDNESS, AND
NP-COMPLETENESS AND GIVE EXAMPLES OF ALGORITHMS THAT FALL INTO EACH CLASS.
8. DISCUSS APPLICATIONS OF THE THEORY OF COMPUTATION.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND
METHODOLOGIES IN THEORY OF COMPUTATION.
2. AN ABILITY TO USE BASIC KNOWLEDGE OF PROOF TECHNIQUES.
3. A GENERAL UNDERSTANDING OF THEORY OF COMPUTATION AND ITS CONNECTION WITH
OTHER SCIENCES, AS WELL AS ITS APPLICATIONS.
4. A GENERAL UNDERSTANDING OF THE RELATIONS BETWEEN AUTOMATA, LANGUAGES
AND GRAMMARS.
5. AN ABILITY TO IMPLEMENT CONCEPTS IN THEORY OF COMPUTATION USING A VARIETY
OF PROGRAMMING LANGUAGES AND PARADIGMS.
6. AN ABILITY TO READ, UNDERSTAND, AND ANALYZE SCIENTIFIC AND TECHNICAL
LITERATURE RELATED TO CONCEPTS COVERED IN THEORY OF COMPUTATION .
7. A KNOWLEDGE OF CURRENT ISSUES IN COMPUTATIONAL COMPLEXITY AS WELL AS ITS
THEORETICAL AND PRACTICAL IMPORTANCE.
COURSE EXPECTATIONS
COURSE CODE: COSC 3207 COURSE NAME: COMPUTER GRAPHICS
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the principles and methods of computer graphics and their applications. Topics include: PC video
cards and storage; display devices; representing objects; raster algorithms for lines, circles and region filling; 2-D and 3D graphics software; object transformations, fractal construction and animation software.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DRAW A FLOWCHART OF THE GRAPHICS PIPELINE.
2. OUTLINE (E.G. DRAW A FLOWCHART) THE STEPS INVOLVED IN RENDERING.
3. SOLVE MATHEMATICAL PROBLEMS IN 3D TRIGONOMETRY, LINEAR ALGEBRA, AND GEOMETRY
THAT ARE RELEVANT FOR COMPUTER GRAPHICS.
4. DESIGN, WRITE, AND IMPLEMENT WORKING COMPUTER GRAPHICS PROGRAMS IN STANDARD
PROGRAMMING LANGUAGES (C, C++, JAVA).
5. COMPARE AND CONTRAST GEOMETRY AND TOPOLOGY, AND THEIR IMPORTANCE IN COMPUTER
GRAPHICS, AND INCORPORATE BOTH INTO A WORKING GEOMETRIC MODEL .
6. SOLVE MATHEMATICAL PROBLEMS INVOLVING 2D AND 3D GEOMETRIC TRANSFORMATIONS THAT
ARE USED IN COMPUTER GRAPHICS.
7. EXPLAIN, DEMONSTRATE, AND GIVE EXAMPLES OF BASIC AND FUNDAMENTAL ALGORITHMS USED
IN COMPUTER GRAPHICS.
8. PERFORM TRANSFORMATIONS BETWEEN VARIOUS COLOUR MODELS.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND
METHODOLOGIES IN 2D AND 3D COMPUTER IMAGE GENERATION (GRAPHICS) FROM
GEOMETRY.
2. AN ABILITY TO PLAN, WRITE, AND REVISE TECHNICAL REPORTS (THROUGH LABORATORY
WORK).
3. AN ABILITY TO PLAN, IMPLEMENT, TEST, AND ANALYZE WORKING ALGORITHMS AND
SOFTWARE THAT GENERATE COMPUTER GRAPHICS (THROUGH LABORATORY WORK).
4. AN ABILITY TO WORK IN SMALL GROUPS.
5. AN ABILITY TO WORK INDEPENDENTLY.
6. AN ABILITY TO SEARCH, ACCESS, STUDY, AND UNDERSTAND SCIENTIFIC AND TECHNICAL
LITERATURE IN COMPUTER GRAPHICS.
7. AN ABILITY TO SOLVE MATHEMATICAL PROBLEMS ARISING IN COMPUTER GRAPHICS.
8. PROFICIENCY IN ORAL AND WRITTEN COMMUNICATION (THROUGH CLASS
PRESENTATIONS AND LABORATORY REPORTS, RESPECTIVELY).
9. THE ABILITY TO CORRECTLY AND THOROUGHLY DOCUMENT CODE.
COURSE EXPECTATIONS
COURSE CODE: COSC 3306 COURSE NAME: PROGRAMMING PARADIGMS
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the alternative programming paradigms and languages. Lecture topics include: overview of
functional, logic, and object-oriented paradigms and languages, designing programs with these paradigms, advantages
and disadvantages of alternative programming paradigms vs. procedural programming. Applications in AI, database
and software design are introduced.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE KEY TECHNICAL TERMS ASSOCIATED WITH PROGRAMMING LANGUAGES AND COMPILERS.
2. COMPARE AND CONTRAST THE DIFFERENT PARADIGMS: SEQUENTIAL, FUNCTIONAL, OBJECTORIENTED, LOGICAL, AND PARALLEL.
3. WRITE BASIC PROGRAMS IN FUNCTIONAL AND LOGICAL LANGUAGES.
4. WRITE A BASIC PARALLEL PROGRAM IN A HIGH-LEVEL PROGRAMMING LANGUAGE.
5. EXPLAIN THE MOTIVATION AND RATIONALE OF NEW PARALLEL PROGRAMMING PARADIGMS .
6. EXPLAIN WHY ALTERNATIVE PROGRAMMING LANGUAGES ARE IMPORTANT, AND DESCRIBE SOME
OF THEIR DISADVANTAGES.
7. COMPARE AND CONTRAST THE DIFFERENCES IN THE SOFTWARE DEVELOPMENT PROCESS
AMONGST THE VARIOUS PARADIGMS.
8. DISCUSS NEW AND EMERGING PARADIGMS AND APPLICATIONS IN NEW PROGRAMMING
LANGUAGES BY DESCRIBING A LEADING-EDGE EXAMPLE.
9. EXPLAIN PERFORMANCE ISSUES WITH ALTERNATIVE LANGUAGES.
10. WRITE A SMALL BUT NON-TRIVIAL “APP” USING OBJECTIVE-C (A NEW LANGUAGE).
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND METHODOLOGIES IN
PROGRAMMING LANGUAGE TECHNOLOGY.
2. THE ABILITY TO WRITE BASIC PROGRAMS IN LANGUAGES FROM DIFFERENT PARADIGMS .
3. THE ABILITY TO PLAN, IMPLEMENT, AND TEST PROGRAMS IN NEW LANGUAGES.
4. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND
SCIENTIFIC DOCUMENTATION, BOTH INDIVIDUALLY AND THROUGH GROUP EFFORTS,
ACCOMPLISHED THROUGH PROGRAMMING LABORATORY PROJECTS.
5. A FAMILIARITY WITH RESEARCH METHODS, TECHNICAL, AND SCIENTIFIC LITERATURE
RELATED TO PROGRAMMING LANGUAGES.
6. A KNOWLEDGE OF PARALLEL PROGRAMMING PARADIGMS AND THEIR IMPORTANCE.
7. AN UNDERSTANDING OF LEADING EDGE PROGRAMMING PARADIGMS IN “APPS” AND
MOBILE DEVICES.
8. AN UNDERSTANDING OF THE ADVANTAGES AND DISADVANTAGES OF THE VARIOUS
PROGRAMMING LANGUAGES AND PARADIGMS.
COURSE EXPECTATIONS
COURSE CODE: COSC 3307 COURSE NAME: 3D COMPUTER GRAPHICS
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the fundamentals of computer graphics in three dimensions, including 3D curves and surfaces,
viewing in three dimensions, three dimensional transforms, and elements of 3D vision and animation.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. EXPLAIN (E.G. VIA A FLOWCHART) HOW 3D GEOMETRY IS TRANSFORMED INTO IMAGES
(GRAPHICS) ON A DISPLAY SCREEN.
2. APPLY ALGEBRAIC, GEOMETRIC, TRIGONOMETRIC, AND LINEAR ALGEBRAIC MATHEMATICAL
CONCEPTS TO SOLVE REALISTIC PROBLEMS USED TO CREATE AND GENERATE 3D COMPUTER
IMAGERY.
3. DESIGN, WRITE, ANALYZE, AND TEST SOPHISTICATED 3D GRAPHICS APPLICATIONS WITH WIDELYUSED INDUSTRY STANDARD FRAMEWORKS (OPENGL, OPENGL/SL, DIRECTX) AND
PROGRAMMING LANGUAGES (C, C++, JAVA).
4. PLAN, DEVELOP, ANALYZE, AND TEST APPLICATIONS TO DEMONSTRATE THE FUNDAMENTALS OF
IMAGE PROCESSING.
5. PLAN, WRITE, ANALYZE, AND TEST NON-TRIVIAL PROGRAMS EMPLOYING GRAPHICS PROCESSING
UNITS.
6. APPLY AND COMPUTE ADVANCED 3D GEOMETRIC TRANSFORMATIONS (3D ROTATIONS,
SHEARING, SCALING), AND EXPLAIN THE DERIVATION AND USE OF THESE TRANSFORMATIONS.
7. SELECT, CRITICALLY READ, ANALYZE, AND DISSEMINATE LITERATURE (BROADLY DEFINED)
CONCERNING IMPORTANT SCIENTIFIC AND TECHNICAL ISSUES INVOLVED IN 3D GRAPHICS.
8. DESCRIBE HOW 3D GRAPHICS CONTRIBUTES TO IMPORTANT VISUALIZATION APPLICATIONS.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND
METHODOLOGIES 3D COMPUTER IMAGE GENERATION (GRAPHICS) FROM GEOMETRY.
2. AN ABILITY TO PLAN, WRITE, AND REVISE ADVANCED TECHNICAL REPORTS (THROUGH
LABORATORY WORK).
3. MATHEMATICAL MATURITY THROUGH IMAGING AND 3D GRAPHICS LABORATORY WORK.
4. AN ABILITY TO PLAN, IMPLEMENT, TEST, AND ANALYZE WORKING ALGORITHMS AND
SOFTWARE THAT GENERATE COMPUTER GRAPHICS (THROUGH LABORATORY WORK).
5. A BASIC ABILITY TO WORK IN SMALL GROUPS.
6. A BASIC ABILITY TO WORK INDEPENDENTLY.
7. AN ABILITY TO SEARCH, ACCESS, STUDY, AND UNDERSTAND SCIENTIFIC AND TECHNICAL
LITERATURE IN 3D COMPUTER GRAPHICS.
8. BASIC PROGRAMMING PROFICIENCY ON GRAPHICS PROCESSING UNITS.
9. AN ABILITY TO DESIGN, IMPLEMENT, TEST, AND ANALYZE SOPHISTICATED ANIMATION
(DYNAMIC) PROGRAMS USING A 3D GRAPHICS PROGRAMMING INTERFACE (OPENGL,
DIRECTX).
10. PROFICIENCY IN ORAL AND WRITTEN COMMUNICATION (THROUGH CLASS
PRESENTATIONS AND LABORATORY REPORTS, RESPECTIVELY).
11. THE ABILITY TO CORRECTLY AND THOROUGHLY DOCUMENT CODE.
COURSE EXPECTATIONS
COURSE CODE: COSC 3406 COURSE NAME: ADVANCED GAME DESIGN AND DEVELOPMENT
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course presents a rigorous approach to the design and development of computer games, emphasizing the
computational and programming tasks involved. Students will learn the basics of physics simulation, graphics, audio,
2D/3D art, and software engineering, as applied to game development. Topics such as the game engine, sound,
rendering, modeling, and user interfaces will also be explored. Knowledge of these topics will be applied to the
development of game-oriented projects. This is primarily a hands-on course where real-world skills, including design,
teamwork, management, documentation, and effective communication are critical.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. PRESENT AND DISCUSS A GAME INDUSTRY CASE STUDY IN DETAIL.
2. PROGRAM VARIOUS ASPECTS OF A WORKING GAME IN A HIGH-LEVEL PROGRAMMING LANGUAGE
(C, C++, C#) BY CREATING A LARGE TEAMWORK-BASED GAME
DEVELOPMENT/IMPLEMENTATION PROJECT.
3. DESIGN AND IMPLEMENT A WORKING GAME USER INTERFACE.
4. EMPLOY ADVANCED COMPUTATIONAL ARCHITECTURES FOR GAMES (MULTICORE PROCESSORS
AND GRAPHICS PROCESSING UNITS) IN A WORKING GAME COMPONENT.
5. DESCRIBE THE PROCESSES INVOLVED IN GAME ART, MODELING, AND ANIMATION.
6. SELECT, PRESENT, AND CRITICALLY ASSESS A CASE STUDY IN LEADING-EDGE GAME
TECHNOLOGIES.
7. SELECT, READ, PRESENT, AND CRITIQUE A REPRESENTATIVE SCIENTIFIC PAPER ON GAME
TECHNOLOGY.
8. EXPLAIN, OUTLINE, AND ANALYZE THE MATHEMATICS, ALGORITHMS AND TECHNIQUES USED IN
GAME TECHNOLOGY.
9. DESIGN, DEVELOP, IMPLEMENT, TEST, AND DEMONSTRATE A FUNCTIONAL GAME IN A TEAMBASED EFFORT, APPLYING SOFTWARE ENGINEERING PRINCIPLES.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. AN ADVANCED KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND
METHODOLOGIES IN GAME DESIGN, DEVELOPMENT, AND TECHNOLOGY.
2. THE ABILITY TO IMPLEMENT COMPLEX PROGRAMS IN A HIGH LEVEL PROGRAMMING
LANGUAGE (C, C++, C#).
3. A FAMILIARITY WITH AND AN ABILITY TO PLAN, WRITE, AND ANALYZE, TEST, AND REVISE
LARGE-SCALE PROGRAMS IN A GAME DEVELOPMENT FRAMEWORK (E.G. XNA/C#)
(THROUGH LABORATORY WORK AND AN EXTENSIVE PROJECT).
4. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND
SCIENTIFIC DOCUMENTATION, BOTH INDIVIDUALLY AND THROUGH GROUP EFFORTS,
ACCOMPLISHED THROUGH EXTENSIVE LABORATORY PROJECTS.
5. AN ABILITY TO COORDINATE AND CONTRIBUTE TO GROUP EFFORTS IN LARGE-SCALE
SOFTWARE DEVELOPMENT.
6. AN ADVANCED FAMILIARITY WITH RESEARCH METHODS, TECHNICAL, AND SCIENTIFIC
LITERATURE.
7. AN UNDERSTANDING OF THE MATHEMATICAL AND COMPUTATIONAL ASPECTS OF VIDEO,
GRAPHICS, AND AUDIO.
8. PROFICIENCY IN ORAL AND WRITTEN COMMUNICATION (THROUGH CLASS
PRESENTATIONS AND LABORATORY REPORTS, RESPECTIVELY).
9. THE ABILITY TO APPLY SOFTWARE ENGINEERING PRINCIPLES TO INDIVIDUAL AND GROUP
PROJECTS.
10. THE ABILITY TO CORRECTLY AND THOROUGHLY DOCUMENT CODE.
11. AN AWARENESS OF EMERGING TRENDS IN GAME TECHNOLOGY AND ALGORITHMS.
COURSE EXPECTATIONS
COURSE CODE: COSC 3606 COURSE NAME: DATABASES AND DATA MANAGEMENT
FACULTY MEMBER: RENATA SMOLIKOVA-WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
Introduction to database systems and management of large collections of data. Methods used for storage, selection,
presentation and retrieval of data. Theory and analysis of relational, hierarchical and other database models. The
design of database management systems.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE KEY TECHNICAL TERMS ASSOCIATED WITH DATABASE SYSTEMS.
2. OUTLINE THE MAJOR PARTS OF A RELATIONAL DATABASE MANAGEMENT SYSTEM (DBMS).
3. DEFINE AND GENERATE A DATABASE WITH SQL DDL, AND QUERY AND UPDATE DATABASES
WITH SQL DML.
4. WRITE PROGRAMS IN HIGH-LEVEL PROGRAMMING LANGUAGES (C, C++, JAVA) THAT CONNECT
TO A DMBS AND THAT EMPLOY EMBEDDED SQL.
5. COMPARE AND CONTRAST RELATIONAL AND OBJECT-ORIENTED DATABASES, EXPLAINING THE
ADVANTAGES AND DISADVANTAGES OF EACH.
6. EXPLAIN THE ROLE OF DBMS IN DAILY LIFE.
7. OUTLINE SECURITY AND PRIVACY CONCERNS IN DBMS, AND EXPLAIN HOW THESE CONCERNS
ARE CURRENTLY ADDRESSED.
8. PLAN A DBMS FROM SPECIFICATIONS.
9. DISCUSS NEW AND EMERGING PARADIGMS IN DBMS BY DESCRIBING A LEADING-EDGE EXAMPLE.
10. EXPLAIN PERFORMANCE ISSUES WITH DBMS AND DESCRIBE METHODS TO INCREASE DBMS
PERFORMANCE.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND METHODOLOGIES IN
DBMS AND DATABASE TECHNOLOGY.
2. THE ABILITY TO WRITE BASIC DBMS PROGRAMS IN A HIGH LEVEL PROGRAMMING
LANGUAGE (C, C++, C#) WITH SQL.
3. THE ABILITY TO PLAN, IMPLEMENT, AND TEST SQL QUERIES.
4. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND
SCIENTIFIC DOCUMENTATION, BOTH INDIVIDUALLY AND THROUGH GROUP EFFORTS,
ACCOMPLISHED THROUGH DBMS LABORATORY PROJECTS.
5. A FAMILIARITY WITH RESEARCH METHODS, TECHNICAL, AND SCIENTIFIC LITERATURE
RELATED TO DBMS.
6. A BASIC KNOWLEDGE OF DATA MINING AND ONLINE ANALYTIC PROCESSING, AND HOW IT
RELATES TO DBMS.
7. AN UNDERSTANDING OF LEADING EDGE DBMS APPLICATIONS, INCLUDING CONTENTDRIVEN SEARCHES AND BUSINESS INTELLIGENCE.
8. THE ABILITY TO CORRECTLY AND THOROUGHLY DOCUMENT THE ENTIRE PROCESS OF
DBMS DEVELOPMENT, FROM INCEPTION TO FINAL TESTING.
COURSE EXPECTATIONS
COURSE CODE: COSC 3657 COURSE NAME: DISTRIBUTED SYSTEMS
FACULTY MEMBER: RENATA SMOLIKOVA-WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
Introduction to computer networks and computer systems interconnected by networks, including both the
hardware and software of selected LANs and WANs. The issues of reliable and secure communication, layered
models, distributed file systems, and concurrency will be discussed.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE BASIC CONCEPTS AND TECHNIQUES IN DISTRIBUTED SYSTEMS AND THE DESIRED
PROPERTIES OF SUCH SYSTEMS.
2. DEMONSTRATE KNOWLEDGE OF THE NATURE OF DISTRIBUTED SYSTEMS BY UNDERLYING
EXAMPLES AND LATEST TRENDS.
3. APPLY DISTRIBUTED SYSTEMS TECHNIQUES.
4. DEMONSTRATE AN UNDERSTANDING OF NETWORK PRINCIPLES AND INTERNET PROTOCOLS BY
IMPLEMENTING ALGORITHMS.
5. IDENTIFY CHALLENGES WHEN DESIGNING A RELIABLE DISTRIBUTED SYSTEM .
6. IDENTIFY SECURITY ISSUES WHEN DESIGNING AND IMPLEMENTING DISTRIBUTED SYSTEMS
AND/OR PROTOCOLS.
7. WRITE DISTRIBUTED SYSTEM SOFTWARE USING OPERATING SYSTEM MECHANISMS AND HIGHERLEVEL MIDDLEWARE AND LANGUAGES.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A GENERAL KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND TERMS IN DISTRIBUTED
SYSTEMS.
2. AN UNDERSTANDING OF HOW TO DESIGN A DISTRIBUTED SYSTEM AND SPECIFY THE DESIRED
PROPERTIES OF SUCH SYSTEMS.
3. AN ABILITY TO APPLY KNOWLEDGE OF OBJECT-ORIENTED PROGRAMMING (E.G. JAVA),
OPERATING SYSTEMS, AND ELEMENTARY COMPUTER ARCHITECTURE.
4. AN ABILITY TO IMPLEMENT DISTRIBUTED AND NETWORKED ALGORITHMS USING HIGH-LEVEL
PROGRAMMING LANGUAGES.
5. AN ABILITY TO SELECT APPROPRIATE TOOLS FOR BUILDING DISTRIBUTED COMPUTER SYSTEMS
AND NETWORKS.
6. FAMILIARITY WITH PAST AND CURRENT RESEARCH ISSUES IN DISTRIBUTED SYSTEMS AND NEW
CHALLENGES IN THIS FIELD.
COURSE EXPECTATIONS
COURSE CODE: COSC 3807 COURSE NAME: Project Management Faculty Member: Haibin
Zhu □2012-13 □2013-14 Calendar Course Description:
This course introduces several aspects of project management in a variety of environments. Topics include: team project
organization and accounting; resources and cost management; human factors; analysis, tools and document
preparation; technological and safety standards; product testing, verification and validation; reducing PC/LAN costs in
the enterprise; capital and administrative costs; technical support.
EXPECTATIONS: By the end of the course students should be able to:
1. Describe the four P’s of importance in a project, i.e., project, people, process, and product.
2. Define the roles in a project, i.e., responsibilities, duties, and rights.
3. Demonstrate through involvement in a team project the central elements of team building and
team management.
4. Prepare a project plan for a software project that includes estimates of size and effort, a
schedule, resource allocation, configuration control, change management, and project risk
identification and management.
5. Indicate an approach to risk that will help to secure the on-time delivery of software.
6. Compare and contrast the different methods and techniques used to assure the quality of a
software product.
7. Define the concepts of hazard and risk, hazard.
8. Recognize common security risks in at least two operating systems.
9. Describe the categories of threats to networked computing systems.
10. Display a systematic approach to the task of identifying hazards and risks in a particular
situation.
11. Apply the basic principles of risk management in a variety of simple scenarios including a
security situation.
OUTCOMES:
Successful graduates of this course will demonstrate
1. The ability of assessing needs and planning development activities.
2. The understanding of qualities and competencies of a project manager by explaining to team
members.
3. The understanding of project structures and software development life cycle(SDLC) by
writing the document of a project.
4. The ability of defining and categorising projects, the life cycle of the project, the lean and
mean approach, and feasibility and risk in projects.
5. The ability of testing and assessing the feasibility of the project by writing a testing plan.
6. The ability of assessing and managing risk by computing related figures.
7. The ability of working with and leading people (project teams) by managing the project team
members; managing creativity and conflict; designing internal and external roles and
responsibilities; and managing relationships.
8. The understanding of the project closure stage by planning and activating the closure point;
and being familiar with a project closure template.
COURSE EXPECTATIONS
COURSE CODE: COSC 3997 COURSE NAME: SENIOR PRACTICUM
FACULTY MEMBER: BOGUSLAW SCHREYER
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
In this course, the senior student works an approved project, either while placed in a business enterprise/organization or
supervised by a faculty member on campus. Projects may range from practical/experimental to theoretical, and the student is
expected t5o successfully integrate theory and skills learned in the program. Evaluation of the student’s final report and
presentation is on a pass/fail basis.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEMONSTRATE UNDERSTANDING OF THE KEY CONCEPTS OF COMPUTER SCIENCE, WITH SPECIFIC
RELEVANCE TO THE DOMAIN TO THE PROJECT. THE PROJECT DOMAINS MAY VARY
SIGNIFICANTLY DEPENDING ON PROFESSOR’S AND STUDENT’S INTEREST
2. APPLY CONCEPTS IN A GIVEN DOMAIN, MOSTLY BY WRITING THE APPLICATION SOFTWARE
3. SHOW INDEPENDENCE IN WORKING ON A COMPLEX PROJECT, WHICH MAY INVOLVE SEVERAL CSC
DOMAINS WITH DIRECTION BUT WITH MINIMUM HELP FROM A FACULTY
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A BROAD AND DETAILED KNOWLEDGE AND CRITICAL UNDERSTANDING OF THE KEY CONCEPTS
OF SPECIFIC CSC DOMAIN(S)
2. ABILITY TO READ, UNDERSTAND , AND ANALYZE THE RELATED CSC TEXTS
3. ABILITY TO SELECT AND APPLY THE APPROPRIATE KNOWLEDGE TO REAL-LIFE PROBLEMS AND
CREATE SOLUTIONS TO SUCH PROBLEMS
4. DEVELOP CRITICAL THINKING AND ADVANCED ANALYTICAL, PROBLEM-SOLVING SKILLS
5. ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW CSC KNOWLEDGE FROM VARIOUS
6.
7.
SOURCES AND APPLY IT IN VARIOUS CONTEXTS
ABILITY TO THINK INDEPENDENTLY
ABILITY TO COMMUNICATE ROBOTICS IDEAS, QUESTIONS, SOLUTIONS, BOTH ORALLY AND IN
WRITING
COURSE EXPECTATIONS
COURSE CODE: COSC 4107 COURSE NAME: INTERFACING AND COMMUNICATION
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the fundamentals of input/output control. Techniques for interrupt handling are discussed.
Course topics include input/output control methods, interrupts; interrupt acknowledgement; synchronization, Open
loop, handshaking; communication protocols; external storage, physical organization and drives; user interfaces.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE AND EXPLAIN THE TERMINOLOGY USED IN INTERFACING AND COMMUNICATION
PROTOCOLS.
2. COMPARE AND CONTRAST VARIOUS INTERFACING TECHNOLOGIES.
3. DESCRIBE SYNCHRONIZATION, AND OUTLINE ITS IMPORTANCE IN STATE-OF-THE-ART SYSTEMS.
4. LIST IMPORTANT CURRENT ISSUES IN COMPUTER INTERFACING AND COMMUNICATION.
5. DESCRIBE, AT AN ADVANCED LEVEL, STORAGE MECHANISMS, INTERFACES, MEMORY, AND
PHYSICAL ORGANIZATION.
6. DESCRIBE AND EXPLAIN (CRITICALLY) A LEADING-EDGE EXAMPLE OF AN ASPECT OF
INTERFACING AND COMMUNICATION.
7. WRITE A FUNCTIONAL PROGRAM AND/OR DRIVER TO INTERFACE COMPUTER EQUIPMENT WITH
DEVICES.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND METHODOLOGIES IN
INTERFACING AND COMMUNICATION.
2. THE ABILITY TO WRITE DRIVERS AND INTERFACES IN PROGRAMMING LANGUAGES (C,
C++, C#, MATLAB, ASSEMBLY).
3. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND
SCIENTIFIC DOCUMENTATION, BOTH INDIVIDUALLY AND THROUGH GROUP EFFORTS,
ACCOMPLISHED THROUGH LABORATORY PROJECTS.
4. A KNOWLEDGE OF PROGRAMMING LANGUAGES, TECHNIQUES, AND PARADIGMS (E.G. USB)
REQUIRED IN INTERFACING COMPUTER EQUIPMENT WITH DEVICES.
5. PROFICIENCY IN ORAL AND WRITTEN COMMUNICATION (THROUGH CLASS
PRESENTATIONS AND LABORATORY REPORTS, RESPECTIVELY).
6. AN UNDERSTANDING OF THE POTENTIAL AND LIMITATIONS OF STATE-OF-THE-ART
INTERFACING AND COMMUNICATION PARADIGMS.
7. THE ABILITY TO CORRECTLY AND THOROUGHLY DOCUMENT CODE.
8. AN AWARENESS OF EMERGING TRENDS IN COMPUTER INTERFACING.
COURSE EXPECTATIONS
COURSE CODE: COSC 4127 COURSE NAME: REAL-TIME PROGRAMMING
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces the fundamentals of tools and techniques of real-time programming and computer system control.
The course topics include microcomputer architecture, real-time programming language and operating system, data
acquisition and communication, microprocessor and microcontroller applications, interfacing techniques.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE AND EXPLAIN THE TERMINOLOGY USED IN EMBEDDED SYSTEMS AND REAL-TIME
SOFTWARE ENVIRONMENTS.
2. OUTLINE THE PROCESS OF REAL-TIME SYSTEMS DEVELOPMENT.
3. DEVELOP AND TEST SIMPLE, YET USEFUL, REAL-TIME SYSTEMS IN A HIGH-LEVEL PROGRAMMING
LANGUAGE (C, C++, C#, MATLAB, VISUAL BASIC).
4. SOLVE MATHEMATICAL PROBLEMS IN ANALOG-TO-DIGITAL AND DIGITAL-TO-ANALOG
CONVERTERS BY SOLVING MATHEMATICAL PROBLEMS IN A-D AND D-A CONVERSION.
5. COMPARE AND CONTRAST VARIOUS REAL-TIME SYSTEMS.
6. DESCRIBE AN ACTUAL CASE STUDY OF REAL-TIME SYSTEM FAILURE, AND EXPLAIN HOW THE
SYSTEM FAILED.
7. LIST IMPORTANT CURRENT AND FUTURE APPLICATIONS OF EMBEDDED PROCESSORS AND REAL TIME SYSTEMS.
8. UNDERSTAND DIFFERENCES BETWEEN EMBEDDED AND NON-EMBEDDED PROGRAMMING
LANGUAGES BY CREATING A COMPARATIVE TABLE.
9. DESCRIBE AND EXPLAIN (CRITICALLY) A LEADING-EDGE EXAMPLE OF A REAL-TIME SYSTEM.
10. COMPARE AND CONTRAST COMPUTATIONAL RESOURCES (MEMORY, PROCESSOR SPEED, DATA
BANDWIDTH, ETC.) IN REAL-TIME AND NON-REAL-TIME SYSTEMS.
11. SIMULATE REAL TIME SYSTEMS IN REAL-TIME MODELING ENVIRONMENTS.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND METHODOLOGIES IN
EMBEDDED SYSTEMS TECHNOLOGY.
2. THE ABILITY TO WRITE BASIC REAL-TIME PROGRAMS IN A HIGH LEVEL PROGRAMMING
LANGUAGE (C, C++, C#, MATLAB, VISUAL BASIC).
3. A KNOWLEDGE OF THE DIFFERENCES BETWEEN REAL-TIME AND NON-REAL-TIME
SYSTEMS.
4. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND
SCIENTIFIC DOCUMENTATION, BOTH INDIVIDUALLY AND THROUGH GROUP EFFORTS,
ACCOMPLISHED THROUGH EXTENSIVE LABORATORY PROJECTS.
5. AN ABILITY TO COORDINATE AND CONTRIBUTE TO GROUP EFFORTS IN REAL -TIME
SOFTWARE DEVELOPMENT.
6. A FAMILIARITY WITH RESEARCH METHODS, TECHNICAL, AND SCIENTIFIC LITERATURE.
7. A KNOWLEDGE OF SOFTWARE ENGINEERING PRINCIPLES ASSOCIATED WITH REAL-TIME
PROGRAMMING PROJECTS.
8. AN UNDERSTANDING OF THE MATHEMATICAL AND COMPUTATIONAL ASPECTS OF REALTIME AND EMBEDDED SYSTEMS.
9. PROFICIENCY IN ORAL AND WRITTEN COMMUNICATION (THROUGH CLASS
PRESENTATIONS AND LABORATORY REPORTS, RESPECTIVELY).
10. AN UNDERSTANDING OF THE POTENTIAL AND LIMITATIONS OF REAL-TIME AND
EMBEDDED SYSTEMS.
11. THE ABILITY TO CORRECTLY AND THOROUGHLY DOCUMENT CODE.
12. A BASIC KNOWLEDGE OF REAL-TIME SIMULATION TECHNIQUES.
13. AN AWARENESS OF EMERGING TRENDS IN EMBEDDED SYSTEMS TECHNOLOGY AND
ALGORITHMS.
COURSE EXPECTATIONS
COURSE CODE: COSC 4206 COURSE NAME: TOPICS IN COMPUTER SCIENCE
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course provides advanced coverage of particular topics in Computer Science. The content varies according to the
specialization of the faculty teaching the course.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. INVESTIGATE, EXAMINE, INTERPRET, AND ANALYZE LEADING-EDGE AND STATE-OF-THE-ART
COMPUTER SCIENCE AND COMPUTER TECHNOLOGY CONCEPTS AND TOPICS.
2. DESIGN, IMPLEMENT, TEST, AND ANALYZE ORIGINAL COMPUTER IMPLEMENTATIONS TO SOLVE
USEFUL PROBLEMS.
3. EXPLAIN, DISCUSS, AND PRESENT ORIGINAL WORK, AS WELL AS FINDINGS FROM THE TECHNICAL
AND SCIENTIFIC LITERATURE, BROADLY DEFINED.
4. DISSEMINATE (ORALLY AND IN WRITING) ORIGINAL FINDINGS AND STATE-OF-THE-ART
TECHNOLOGIES.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE:
1. AN IN-DEPTH KNOWLEDGE AND UNDERSTANDING OF RELEVANT, USEFUL, AND TIMELY
COMPUTER SCIENCE TOPICS.
2. THE ABILITY TO CRITICALLY READ, ASSESS, AND REPORT ON (BOTH ORALLY AND IN WRITING)
LEADING-EDGE AND STATE-OF-THE-ART COMPUTER SCIENCE LITERATURE.
3. A SOPHISTICATED KNOWLEDGE OF SOFTWARE ENGINEERING AND ALL PHASES OF SOFTWARE
DEVELOPMENT.
4. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND SCIENTIFIC
DOCUMENTATION, ACCOMPLISHED THROUGH EXTENSIVE LABORATORY PROJECTS.
5. AN AWARENESS OF EMERGING TRENDS IN ALGORITHMS, COMPUTER SCIENCE, AND COMPUTER
TECHNOLOGY.
COURSE EXPECTATIONS
COURSE CODE: COSC 4207 COURSE NAME: SEMINARS IN COMPUTER SCIENCE
FACULTY MEMBER: ALL COSC FACULTY
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This seminar course provides coverage of particular topics of current importance. Reading and research will be conducted
in the areas of interest of students and faculty teaching the course. Students will present seminars and prepare essays.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. EXPLAIN, DISCUSS, SUMMARIZE, AND CRITIQUE RELEVANT AND IMPORTANT PROBLEMS AND
OPPORTUNITIES IN COMPUTER SCIENCE TECHNOLOGY AND RESEARCH.
2. DESIGN, IMPLEMENT, TEST, AND ANALYZE ORIGINAL COMPUTER IMPLEMENTATIONS TO SOLVE
USEFUL PROBLEMS.
3. ANALYZE AND INTERPRET RESULTS FROM ORIGINAL INVESTIGATIONS.
4. COMPARE AND CONTRAST DIFFERENT COMPUTATIONAL APPROACHES TO PROBLEMS.
5. DISCUSS (ORALLY AND IN WRITING) ORIGINAL WORK AS WELL AS FINDINGS FROM THE
TECHNICAL AND SCIENTIFIC (BROADLY DEFINED) LITERATURE IN COMPUTER SCIENCE.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE:
1. AN IN-DEPTH KNOWLEDGE AND UNDERSTANDING OF RELEVANT, USEFUL, AND TIMELY
COMPUTER SCIENCE TOPICS.
2. THE ABILITY TO INDEPENDENTLY AND CRITICALLY READ, ASSESS, ANALYZE AND REPORT ON
(BOTH ORALLY AND IN WRITING) LEADING-EDGE AND STATE-OF-THE-ART COMPUTER SCIENCE
LITERATURE.
3. A SOPHISTICATED KNOWLEDGE OF RESEARCH METHODS AND R&D IN COMPUTER SCIENCE AND
TECHNOLOGY.
4. AN ABILITY TO PLAN, WRITE, ANALYZE, AND REVISE TECHNICAL REPORTS AND SCIENTIFIC
DOCUMENTATION, ACCOMPLISHED THROUGH EXTENSIVE LABORATORY AND RESEARCH
PROJECTS.
5. AN AWARENESS OF EMERGING TRENDS, OPPORTUNITIES, AND LIMITATIONS IN COMPUTER
ALGORITHMS AND TECHNOLOGY.
COURSE EXPECTATIONS
COURSE CODE: COSC 4607 COURSE NAME: SECURITY AND PROTECTION
FACULTY MEMBER: MARK WACHOWIAK
2012-13 2013-14
CALENDAR COURSE DESCRIPTION:
This course introduces physical security, privacy, capabilities and access lists, authentication mechanisms and
formalisms. The course topics include: overview of system security, security methods and devices, memory protection,
recovery management, secure operating systems, hardware/software redundancy.
EXPECTATIONS:
BY THE END OF THE COURSE STUDENTS SHOULD BE ABLE TO:
1. DEFINE KEY TECHNICAL TERMS ASSOCIATED WITH COMPUTER AND NETWORK SECURITY.
2. COMPARE AND CONTRAST THE DIFFERENT TYPES OF ELECTRONIC “ATTACKS”, AND THE
MECHANISMS FOR PREVENTION AND AMELIORATION.
3. WRITE PROGRAMS THAT IMPLEMENT BASIC SECURITY MEASURES IN COMPUTER SYSTEMS.
4. EXPLAIN THE STEPS AND PROCEDURES INVOLVED IN USER-LEVEL COMPUTER SECURITY.
5. EXPLAIN THE MECHANISMS BY WHICH TRANSACTIONS ARE SECURED IN A NETWORKED
ENVIRONMENT.
6. COMPARE AND CONTRAST THE DIFFERENCES IN SECURITY FOR DIFFERENT OPERATING SYSTEMS
(WINDOWS, MACOS, LINUX, UNIX).
7. DISCUSS NEW AND EMERGING PARADIGMS IN COMPUTER SECURITY BY DESCRIBING A LEADINGEDGE EXAMPLE.
8. EXPLAIN THE MECHANISMS BY WHICH “VIRUSES”, “WORMS”, “ADWARE”, AND OTHER
“MALWARE” COMPROMISE COMPUTER SECURITY, AND OUTLINE STEPS NEEDED TO PROTECT
AGAINST MALWARE.
9. WRITE ENCRYPTION AND DECRYPTION CODE IN A HIGH-LEVEL PROGRAMMING LANGUAGE (E.G.
JAVA).
10. COMPARE AND CONTRAST VARIOUS ENCRYPTION METHODS.
OUTCOMES:
SUCCESSFUL GRADUATES OF THIS COURSE WILL DEMONSTRATE
1. A KNOWLEDGE AND UNDERSTANDING OF KEY CONCEPTS AND METHODOLOGIES IN
COMPUTER SECURITY.
2. THE ABILITY TO WRITE BASIC PROGRAMS DEALING WITH COMPUTER SECURITY ISSUES.
3. THE ABILITY TO CREATE AND IMPLEMENT A SECURITY PLAN FOR VARIOUS OPERATING
SYSTEMS AND ENVIRONMENTS (STANDALONE AND NETWORKED).
4. A MATHEMATICAL AND COMPUTATIONAL KNOWLEDGE OF CRYPTOGRAPHY (ENCRYPTION
AND DECRYPTION).
5. A FAMILIARITY WITH RESEARCH METHODS, TECHNICAL, AND SCIENTIFIC LITERATURE
RELATED TO COMPUTER SECURITY.
6. A THEORETICAL UNDERSTANDING OF POTENTIAL FUTURE SECURITY RISKS (E.G.
QUANTUM COMPUTING TO BREAK RSA CODES).
7. AN UNDERSTANDING OF LEADING EDGE COMPUTER SECURITY MECHANISMS.
8. A BASIC UNDERSTANDING BIOMETRICS.
9. A BASIC UNDERSTANDING OF MALWARE, WHAT IT DOES, AND HOW TO PROTECT AGAINST
IT.
10. A THEORETICAL KNOWLEDGE OF OPERATING SYSTEM SECURITY MECHANISMS FOR THE
WINDOWS, LINUX, UNIX, AND MACOS OPERATING SYSTEMS.
COURSE EXPECTATIONS
COURSE CODE: COSC 4896 COURSE NAME: Honours Research I
Faculty Member: All COSC Faculty
☒2012-13 ☒2013-14
Calendar Course Description:
An individualized studies course in which a senior student conducts research in a topic not specifically covered in other
courses, under the supervision of a faculty member with expertise in that area. Each student will be required to make
oral presentations on their work to faculty and students at several seminar sessions held for this purpose, and to submit
a final report, written in the format of a journal article.
EXPECTATIONS:
By the end of the course students should be able to:
1. EXPLAIN, DESCRIBE, AND PRESENT (BOTH ORALLY AND IN WRITING) THE KEY THEORETICAL
2.
3.
4.
5.
AND PRACTICAL CONCEPTS OF COMPUTER SCIENCE SPECIFICALLY RELATED TO ADVANCED
RESEARCH (PROJECT DOMAINS VARY DEPENDING ON THE INTERESTS OF THE SUPERVISING
PROFESSOR AND THE STUDENT).
STUDY, ANALYZE, AND CRITIQUE ADVANCED STATE-OF-THE-ART AND LEADING-EDGE COMPUTER
SCIENCE CONCEPTS.
SHOW INDEPENDENCE IN WORKING ON ADVANCED RESEARCH, WHICH MAY INVOLVE SEVERAL
COMPUTER SCIENCE DOMAINS WITH DIRECTIONS, BUT WITH MINIMUM HELP FROM FACULTY.
EXPLAIN THE OPPORTUNITIES AND LIMITATIONS OF COMPUTER-BASED APPROACHES FOR
PROBLEM-SOLVING.
USE AND UNDERSTAND ADVANCED RESEARCH METHODS.
OUTCOMES:
Successful graduates of this course will demonstrate
1. A BROAD AND DETAILED KNOWLEDGE AND CRITICAL UNDERSTANDING OF THE KEY CONCEPTS
2.
3.
4.
5.
6.
7.
8.
OF SPECIFIC COMPUTER SCIENCE DOMAIN(S).
ABILITY TO READ, UNDERSTAND, ANALYZE, AND CRITIQUE THE RELATED COMPUTER SCIENCE
AND RELATED LITERATURE.
ABILITY TO RELATE THEORETICAL TO PRACTICAL KNOWLEDGE.
DEVELOP CRITICAL THINKING AND ADVANCED ANALYTICAL, PROBLEM-SOLVING SKILLS.
ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW COMPUTER SCIENCE AND RELATED
KNOWLEDGE FROM THE SCIENTIFIC LITERATURE AND APPLY IT IN VARIOUS CONTEXTS.
ABILITY TO SYNTHESIZE KNOWLEDGE GAINED OVER THE STUDENT’S ENTIRE COURSE OF STUDY.
ABILITY TO THINK INDEPENDENTLY.
ABILITY TO COMMUNICATE IDEAS, QUESTIONS, AND SOLUTIONS, BOTH ORALLY AND IN WRITING.
COURSE EXPECTATIONS
COURSE CODE: COSC 4897 COURSE NAME: Honours Research II
Faculty Member: All COSC Faculty
☒2012-13 ☒2013-14
Calendar Course Description:
An individualized studies course in which a senior student conducts research in a topic not specifically covered in other
courses, under the supervision of a faculty member with expertise in that area. Each student will be required to make
oral presentations on their work to faculty and students at several seminar sessions held for this purpose, and to submit
a final report, written in the format of a journal article.
EXPECTATIONS:
By the end of the course students should be able to:
1. EXPLAIN, DESCRIBE, AND PRESENT (BOTH ORALLY AND IN WRITING) THE KEY THEORETICAL
2.
3.
4.
5.
AND PRACTICAL CONCEPTS OF COMPUTER SCIENCE SPECIFICALLY RELATED TO ADVANCED
RESEARCH (PROJECT DOMAINS VARY DEPENDING ON THE INTERESTS OF THE SUPERVISING
PROFESSOR AND THE STUDENT).
STUDY, ANALYZE, AND CRITIQUE ADVANCED STATE-OF-THE-ART AND LEADING-EDGE COMPUTER
SCIENCE CONCEPTS.
SHOW INDEPENDENCE IN WORKING ON ADVANCED RESEARCH, WHICH MAY INVOLVE SEVERAL
COMPUTER SCIENCE DOMAINS WITH DIRECTIONS, BUT WITH MINIMUM HELP FROM FACULTY.
EXPLAIN THE OPPORTUNITIES AND LIMITATIONS OF COMPUTER-BASED APPROACHES FOR
PROBLEM-SOLVING.
USE AND UNDERSTAND ADVANCED RESEARCH METHODS.
OUTCOMES:
Successful graduates of this course will demonstrate
1. A BROAD AND DETAILED KNOWLEDGE AND CRITICAL UNDERSTANDING OF THE KEY CONCEPTS
2.
3.
4.
5.
6.
7.
8.
OF SPECIFIC COMPUTER SCIENCE DOMAIN(S).
ABILITY TO READ, UNDERSTAND, ANALYZE, AND CRITIQUE THE RELATED COMPUTER SCIENCE
AND RELATED LITERATURE.
ABILITY TO RELATE THEORETICAL TO PRACTICAL KNOWLEDGE.
DEVELOP CRITICAL THINKING AND ADVANCED ANALYTICAL, PROBLEM-SOLVING SKILLS.
ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW COMPUTER SCIENCE AND RELATED
KNOWLEDGE FROM THE SCIENTIFIC LITERATURE AND APPLY IT IN VARIOUS CONTEXTS .
ABILITY TO SYNTHESIZE KNOWLEDGE GAINED OVER THE STUDENT’S ENTIRE COURSE OF STUDY.
ABILITY TO THINK INDEPENDENTLY.
ABILITY TO COMMUNICATE IDEAS, QUESTIONS, AND SOLUTIONS, BOTH ORALLY AND IN WRITING.
COURSE EXPECTATIONS
COURSE CODE: COSC 4997 COURSE NAME: Honours Practicum
Faculty Member: All COSC Faculty
☒2012-13 ☒2013-14
Calendar Course Description:
In this course, the honours student works on an approved project, either while placed in a business enterprise/organization or
supervised by a faculty member on campus. Projects may range from practical/experiential to theoretical, and the student is
expected to successfully integrate theory and skills learned in the program. Evaluation of the student's final report and
presentation is on a pass/fail basis.
EXPECTATIONS:
By the end of the course students should be able to:
1. EXPLAIN, DESCRIBE, AND PRESENT (BOTH ORALLY AND IN WRITING) THE KEY THEORETICAL
AND PRACTICAL CONCEPTS OF COMPUTER SCIENCE SPECIFICALLY RELATED TO AN ADVANCED
PROJECT (PROJECT DOMAINS VARY DEPENDING ON THE INTERESTS OF THE SUPERVISING
PROFESSOR AND THE STUDENT).
2. APPLY ADVANCED COMPUTER SCIENCE CONCEPTS TO A SPECIFIC DOMAIN, MOSTLY BY SOFTWARE
DEVELOPMENT AND IMPLEMENTATION.
3. SHOW INDEPENDENCE IN WORKING ON A COMPLEX PROJECT, WHICH MAY INVOLVE SEVERAL
COMPUTER SCIENCE DOMAINS WITH DIRECTIONS, BUT WITH MINIMUM HELP FROM FACULTY.
4. MAKE APPROPRIATE USE OF ADVANCED SOFTWARE ENGINEERING PRINCIPLES IN DEVELOPING
THE PROJECT.
OUTCOMES:
Successful graduates of this course will demonstrate
1. A BROAD AND DETAILED KNOWLEDGE AND CRITICAL UNDERSTANDING OF THE KEY CONCEPTS
OF SPECIFIC COMPUTER SCIENCE DOMAIN(S).
2. ABILITY TO READ, UNDERSTAND, ANALYZE, AND CRITIQUE THE RELATED COMPUTER SCIENCE
LITERATURE AND TECHNICAL DOCUMENTATION.
3. ABILITY TO SELECT AND APPLY THE APPROPRIATE KNOWLEDGE TO REAL-WORLD PROBLEMS AND
CREATE SOLUTIONS TO SUCH PROBLEMS.
4. DEVELOP CRITICAL THINKING AND ADVANCED ANALYTICAL, PROBLEM-SOLVING SKILLS.
5. ABILITY TO GATHER, COMPREHEND, AND ANALYZE NEW COMPUTER SCIENCE KNOWLEDGE FROM
VARIOUS SOURCES AND APPLY IT IN VARIOUS CONTEXTS.
6. ABILITY TO APPLY AND SYNTHESIZE KNOWLEDGE GAINED OVER THE STUDENT ’S ENTIRE COURSE
OF STUDY.
7. ABILITY TO THINK INDEPENDENTLY.
8. ABILITY TO COMMUNICATE IDEAS, QUESTIONS AND SOLUTIONS, BOTH ORALLY AND IN WRITING.
Download