Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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] The CS Core The IEEE-CS/ACM Computing Curricula Task Force identified the core body of knowledge appropriate for a CS undergraduate curriculum: • • • • • • • • • • • • • • 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 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 Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 2 CS Technical Electives Computer Graphics Networks & Data Communications Comput. Science & Numerical Methods Software Engineering Distributed Systems Social and Professional Issues Database Management Theory of Computation Information Management Compiler Design Intelligent Systems Graphics and Visual Computing Artificial Intelligence Human-Computer Interaction Programming Languages Net-Centric Computing Algorithms and Complexity Operating Systems Programming Fundamentals Advanced Algorithms Example Technical Electives Architecture and Organization Discrete Structures Technical electives commonly address some, but rarely all, of these areas: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 3 Breadth-Last 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. Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 4 Game Design & Development One breadth-last example: CS Core Area Corresponding Course Topics Discrete 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 Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 5 Game Design & Development Sample assignments: Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 6 Intelligent Mobile Robotics Another breadth-last example: CS Core Area Corresponding Course Topics Discrete 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 Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 7 Intelligent Mobile Robotics Base System Setup: XBC Microcontroller XBC Mounted to Robot Base Used to Detect Items of Different Color and Control Robot Movement and Arm Xbee RF Communication Module Level Translation Circuit Board Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 8 Additional Breadth-Last Possibilities 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 Breadth-Last Technical Electives: Integrating the CS Core via Computer Games and Mobile Robotics 9