9
Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics William W. White Southern Illinois University Edwardsville Department of Computer Science Edwardsville, IL 62026-1656 [email protected] Jerry B. Weinberg Southern Illinois University Edwardsville Department of Computer Science Edwardsville, IL 62026-1656 [email protected]

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

  • Upload
    melva

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics. William W. White Southern Illinois U niversity Edwardsville Department of Computer Science Edwardsville, IL 62026-1656 [email protected]. Jerry B. Weinberg - PowerPoint PPT Presentation

Citation preview

Page 1: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer

Games and Mobile Robotics

William W. WhiteSouthern Illinois University Edwardsville

Department of Computer ScienceEdwardsville, IL 62026-1656

[email protected]

Jerry B. WeinbergSouthern Illinois University Edwardsville

Department of Computer ScienceEdwardsville, IL 62026-1656

[email protected]

Page 2: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

The CS Core

2

• Discrete Structures• Programming Fundamentals• Algorithms and Complexity• Architecture and Organization• Operating Systems• Net-Centric Computing• Programming Languages• Human-Computer Interaction• Graphics and Visual Computing• Intelligent Systems• Information Management• Social and Professional Issues• Software Engineering• Computational Science and Numerical Methods

The IEEE-CS/ACM Computing Curricula Task Force identified the core body of knowledge appropriate for a CS undergraduate curriculum:

Source: “Computing Curricula 2001 - Computer Science: Final Report”, 12/15/01, The Joint Task Force on Computing Curricula - IEEE Computer Society and Association for Computing Machinery, http://www.computer.org/portal/cms_docs_ieeecs/ieeecs/education/cc2001/cc2001.pdf

Page 3: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

CS Technical Electives

3

Technical electives commonly address some, but rarely all, of these areas:

Example Technical Electives

Discrete Structures

Programming Fundamentals

Algorithms and Complexity

Architecture and Organization

Operating Systems

Net-CentricComputing

Programming Languages

Human-Computer Interaction

Graphics and Visual Computing

Intelligent Systems

Information Management

Social and Professional Issues

Software Engineering

Comput. Science & Numerical Methods

Advanced Algorithms Artificial Intelligence

Compiler Design Computer Graphics

Database Management Distributed Systems

Networks & Data Communications Theory of Computation

Page 4: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last

4

A breadth-last technical elective integrates the entire CS core into a single course, taken at the end of the undergraduate curriculum, with the following goals:• Demonstrate how the diverse core areas fit together

within an integrated system instead of in the traditional segregated manner that frequently ignores their interdependence.

• Facilitate the students’ ability to envision alternative and more far-reaching solutions to practical software development problems.

Page 5: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Game Design & Development

5

CS Core Area Corresponding Course TopicsDiscrete Structures Isometric Grids; Music Sequencers; Binary Space Partitioning

Programming Fundamentals Event-Driven Programming; Recursive Pathfinding

Algorithms and Complexity Collision Detection; Fractal Terrain Generation; Finite State Machines

Architecture and Organization Graphics Processors; Peripheral Devices; Display Technologies

Operating Systems Multimedia Coordination; Cross-Platform Compatibility; Multithreaded Race Conditions

Net-Centric Computing Multiplayer Platforms; Wireless Connectivity; Game Latency; Mobile Gaming

Programming Languages Scripting Languages; Application Programming Interfaces

Human-Computer Interaction Intuitive Game Interfaces; Heads-Up Displays

Graphics and Visual Computing Real-Time Rendering; Character Animation; Texture Mapping; Lighting; Radiosity

Intelligent Systems Non-Player Characters; Emergent Behavior; Dead Reckoning

Information Management Game Asset Management; Massively Multiplayer Data Reduction

Social and Professional Issues Game Content Censorship; Social Isolation; Software Piracy

Software Engineering System Design; Agile Programming; Rapid Development

Comput. Science & Numerical Methods Subdivision Surfaces; Rigid-Body Dynamics

One breadth-last example:

Page 6: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Game Design & Development

6

Sample assignments:

Page 7: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Intelligent Mobile Robotics

7

CS Core Area Corresponding Course TopicsDiscrete Structures Grid-, Graph-, Quadtree-Based Maps; Schemas; Voxels

Programming Fundamentals Space-Limited Code Efficiency; Recursive Problem-Solving

Algorithms and Complexity Position Sensing; Navigation; Spatial Mapping; Collision Avoidance

Architecture and Organization Sensors; Microcontrollers; Digital Signal Processing; Layers of Abstraction

Operating Systems Multitasking; Interprocess Communication; Resource Scheduling

Net-Centric Computing Wireless Connectivity; Multi-Robot Coordination; Web Interfacing

Programming Languages Concurrent Programming; Functional Languages

Human-Computer Interaction Tele-Operation; Tele-Presence; Heuristic Design; Cognitive Modeling

Graphics and Visual Computing Computer Vision; Color Tracking; Pattern Recognition; Image-Map Correspondence

Intelligent Systems Intelligent Agents; Path Planning; Reinforcement Learning; Swarm Intelligence

Information Management Resource Management; Sensor Fusion

Social and Professional Issues Industrial Automation; Assistive Robotics; Military Robots; Anthropomorphism

Software Engineering Behavior Diagrams; Sequence Diagramming; Finite State Machines

Comput. Science & Numerical Methods Analog-to-Digital Conversion; Dead Reckoning; PID Control

Another breadth-last example:

Page 8: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Intelligent Mobile Robotics

8

Base System Setup:

Xbee RF Communication Module Level Translation Circuit Board

XBC Microcontroller

XBC Mounted to Robot Base Used to Detect Items of Different Color and Control Robot Movement and Arm

Page 9: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics

Additional Breadth-Last Possibilities

9

Mobile Communications• Networking• Operating Systems• Architecture• Interface Design• Social Implications Scientific Visualization

• Parallel Processing• Computer Graphics• Numerical Methods• Algorithms• Database Management• Customer-Driven Development Design Patterns

• Software Engineering• Systems Analysis• Object-Oriented Programming• Algorithm Complexity• Code Refactoring• Network Programming