Site Tools


planning:lab_renewal

This is an old revision of the document!


SoCS Computing Resource Strategic Plan

Preamble about what the document is, scope, reasons for existence, etc

Requirements:
General requirements for all majors:

The majority of courses offered by the School of Computer science need predictable and conventional computer resources. These resources include:

  • Compilers and interpreters for programming languages including:
    • C
    • Python
    • Java
    • Ruby
    • JavaScript
    • Perl
  • Editors
  • SQL clients
  • Debuggers including gdb
  • Profiling tools including IDEs
  • Version Control Software such as SVN and git

While this list covers the requirements of most courses there are a few courses required by all majors that may have special requirements.

CIS*2030 Structure and Application of Microcomputers

  • Connection for peripheral boards

CIS*3110 Operating Systems I

  • Independent processing time for simulations not suitable for shared computing environments
Non Major-Specific Electives:

The following courses are available for all SoCS students and may have special hardware requirements.

CIS*3090 Parallel Programming

  • Dedicated parallel computing environment (currently provided by Sharcnet)
  • Graphics hardware available for CUDA

CIS*3210 Computer Networks

  • Network analysis tools such as Wireshark
  • May require dedicated networking infrastructure (switches, routers, access points) in the future
Bachelor of Computing:

All requirements for courses within the bachelor of computing are covered within general requirements for all majors.

Software Engineering:

In addition to resources specified within general requirements for all majors the following resources are needed for most Software Engineering courses:

  • Diagramming tools including Visio or Omnigraffle
  • Collaboration tools and project management tools (The web-app Trello is currently used)
  • Ticketing systems including Redmine and RT.
Mobile:

CIS*1XXX Introduction to Mobile Computing

  • This course will only require resources already specified within general requirements for all majors

CIS*2XXX Mobile Applications Design

In addition to general computing requirements, this course will need:

  • Mobile Devices (iOS and Android)
  • XCode and iOS SDK
  • Android SDK
  • Mobile device emulators
  • Secure device Storage

CIS*3XXX Pervasive Systems

  • This course will require resources similar to those in Mobile Applications Design

CIS*4XXX Mobile Systems Project Course

  • This course will require some of the resources required for Mobile Design Applications
  • Some specialized server infrastructure may be required
Game:

In addition to resources specified within general requirements for all majors the following resources will likely be needed:

  • Advanced graphics hardware
  • Hardware for CPU intensive simulations which are unsuitable for a shared computing environment
  • Sound
  • A Windows environment to support DirectX
  • Input devices
  • Consoles (Xbox, Playstation, Wii?)
  • Secure storage for devices and consoles

Summary

Item GeneralB CompSoftEngMobileGame
Compilers
Editors
SQL Client
Debuggers
Profiling Tools
Version Control
Connection for Peripherals
Independent Processing Time
Graphics Hardware
Network Analysis Tool
Diagramming Tools
Collaboration Tools
Ticketing System
Mobile Devices
XCode
iOS SDK
Android SDK
Mobile Device Emulator
Secure Storage
Sound

Lab Environments

PC

Pros:

  • Standalone, machines operate independently of each other
  • Can run software without impacting other users

Cons:

  • Management, increased time as efforts must be duplicated for each machine.
  • Complex client, admin resources required to fix
Mac

Pros:

  • Standalone, machines operate independently of each other
  • OSX Software – Only environment with OSX software available

Cons:

  • Management, increased time as efforts must be duplicated for each machine.
ThinClient

Pros:

  • Manageability – Reduced administrative efforts as changes can be rolled out quickly to all machines.
  • Setup – adding new clients requires less resources as only a terminal must be set up
  • Shared Environment – The environment is standardized for all users
  • Remote access – Server for shared environment accessible over SSH or Remote Desktop type application
  • Dumb Client, easy to replace terminal if broken without sysadmin

Cons:

  • Downtime – server outage may affect multiple machines
BYoC

Pros

  • Demonstrated enjoyment by students
  • Requires limited sysadmin computer resources as not managed by SoCS

Cons

  • Lack of standardization, all machines will be unique
  • Software unavailability – some software may be unavailable for BYoC machines, or unpractical/uneconomic to provide
Raspberry Pi

Pros:

  • Mostly standard environment – all pis run the same OS and have same software availability
  • Requires limited sysadmin resources, most problems fixed by reformat of SD card or replacement of Pi

Cons:

  • Limited processing power, not suitable for high computational needs
planning/lab_renewal.1422560752.txt.gz · Last modified: 2015/01/29 19:45 by kjohns23