==== SoCS Computing Resource Strategic Plan ==== == 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 * Debugging tools 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 shared memory programming environment * Dedicated cluster programming environment (Pilot) * Graphics hardware available for CUDA CIS*3190 Software for Legacy Systems * Fortran (gfortran), Cobol (cobc), Ada (gnatmake) CIS*3210 Computer Networks * Network analysis tools such as Wireshark * May require dedicated networking infrastructure (switches, routers, access points) in the future CIS*4720 Image Processing and Vision * Python with associated libraries: numpy, scipy, SimpleCV, OpenCV, pymorph, matplotlib, scikit-image CIS*4800 Computer Graphics and CIS4820 Game Programming * OpenGL (both GL and GLU) and GLUT libraries == 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 ^General^B Comp^SoftEng^Mobile^Game^ |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 | | | | |✔ |