The Department of Computer Science and Engineering gives students access to a wide variety of software and hardware development environments in the Department Center Four (C4) Teaching Laboratory and by remote access to the Department Data Center.
University and College Facilities
Campus-wide computing facilities available to students and faculty at USF include a number of dedicated public computing labs and a large cluster of Unix-based computers. The public computing labs feature Windows PCs with access to a broad range of applications including a range of Adobe and Microsoft products, Mathematica, Matlab, and many others. Students also have access to the USF Application Gateway "apps.usf.edu" which allows them to use over 40 different software applications for their personal and academic use on their own laptops via a Citrix server connection, by logging in with their USF NetID. The cluster of Unix-based computers, called CIRCE, is maintained by USF Research Computing. USF Research Computing actively maintains over 100 scientific software packages. This cluster can be used by any faculty member or student. USF Research Computing maintains a wiki page describing available, services, software, and hardware.
The USF Research Computing Student Cluster (SC) is designated for classwork-related use. As of July 2018, SC consists of approximately 22 nodes with 444 processor cores running Red Hat Enterprise Linux 6. Seven of these nodes are also equipped with single Nvidia Tesla M2070 GPUs. SC has 1.296TB of memory shared across the nodes and a 2.4PB replicated file system for home directories. Back-up is nightly. Access to the SC is requested/granted on a class-by-class basis (requested by class instructor). Department classes make use of SC for instruction. Program Design (COP 3514) uses SC to compile, test, and debug C programs on a networked Unix/Linux system.
The campus network provides high speed interconnection of the above resources along with individual faculty and staff workstations. The network is built using a mesh approach with 1 Gb/s Ethernet to the desktop and 10 Gb/s Ethernet connections between some switches on campus. The campus is also connected to the Internet2 research network. The campus also provides Wi-Fi Internet connection to students, faculty, staff, and guests.
Department Center Four (C4) Teaching Laboratory
Students can register for Lab Access to the Department C4 Lab. The C4 Lab contains multiple smaller units, or labs, including the Unix Lab, Mobile Devices Lab, Embedded Systems Lab, Logic Design Lab, and Mobile Robotics Lab.
The C4 Unix lab consists of 50 enterprise-grade Dell workstations with Red Hat Linux installed. Of these 50 PCs, 10 are OptiPlex 7020s with Quadcore i7 and 8GB of memory, 20 are Optiplex 790 with Quadcore i7 and 4GB of memory, and the other 20 are Precision Tower 7810s with 6 core Xeon processors, 16GB of DDR4, and CUDA enabled GEFORCE GTX 960 GPU cards installed. These systems are configured with RHEL 6.8 OS, and the user home directories reside on a centralized storage unit. This computing environment allows students to perform very low-level experiments with the operating system and move around between systems as they please, while allowing the system to quickly recover from any fatal errors. This lab supports Department students in Operating Systems (COP 4600) and other courses.
Mobile Devices Lab
The C4 Mobile Device Lab consists of 30 Android smartphones used to teach mobile device programming. In addition to the smartphones, there are an Android tablet, 3 Bluetooth blood pressure monitors, a Bluetooth sleep monitor, 4 Bluetooth fitness trackers, a Bluetooth smart watch, 2 Bluetooth ubiquitous sensors, 6 Bluetooth BioHarnesses, 2 Bluetooth beacon kits, a Bluetooth oximeter, a Bluetooth stethoscope, a Bluetooth digital scale, 5 Bluetooth Inertial measurement units, 6 phone belt clips, a USB Wi-Fi adapter, a USB serial adapter, a USB Bluetooth adapter, 4 rechargeable batteries, and a battery charger. This lab supports Department students in Mobile Device Programming (COP 4656).
Embedded Systems Lab
The C4 Embedded Systems Lab consists of 10 dedicated work areas containing 10 Dell OptiPlex workstations running Windows 7, 50 Anvyl Spartan-6 FPGA Development Board, 30 ZedBoard ZynqT-7000 Development Boards, and multiple oscilloscopes. This lab supports Department students in Computer System Design (CDA 4203), CMOS-VLSI (CDA 4213), and in several hardware electives.
Logic Design Lab
The C4 Logic Design Lab consists of 17 dedicated work areas containing 17 Dell OptiPlex workstations running Windows 7, 21 Philmore Multi-Voltage Regulated DC MW 122A Power Supplies, 2 BK Precision 3011B 2MHz Function Generators, 3 Wavetek 187 4MHz Function Generators, 4 BK Precision 4011 5MHz Function Generators, 2, 1 Volteq SFG-1005 Function Generators, 1 Mercer 9800 Multifunction Counter, 8 Tektronix MSO 2014 100 MHz Mixed Signal oscilloscopes, and 10 100 MHz Tektronix 2235 oscilloscopes. This lab supports Department students in Computer Logic Design (CDA 3201).
Mobile Robotics Lab
The C4 Mobile Robotics Lab consists of 30 mobile robotics kits. This lab supports Department students in Control of Mobile Robotics course (CDA 4621).
Department Data Center
Students get access to the servers in the Department Data Center through their classes and student organizations. Students also have access to University and College facilities.
This Microblade cluster has 18 nodes. Each node contains a quad core CPU, 64GB of DDR4 Memory, and runs RHEL 7 Linux OS. This system supports Department students in Operating Systems (COP 4600) and other courses.
Cloudera Hadoop cluster
This microblade cluster is composed of 1 master and 24 nodes. Each node contains a quad core CPU, 64GB of DDR4 Memory, and runs RHEL 7 Linux OS. This cluster will be used for cloud computing and it will be configured with a Cloudera/Hadoop combination. As of July 2018, this cluster is under development.
The Department hosts several servers for specialized use. Two key servers are FSPRIME and JUJUSTACK. FSPRIME is a Dell PowerEdge R520 server with Red Hat Linux, Dual 8 core Xeon processors, 132 GB of RAM, and 15TB of disk space. This server is use to support teaching where computationally-intensive tasks are required. JUJUSTACK is identical in hardware to FSPRIME but is running Ubuntu LTS 14.04. This server is use to host virtual appliances used for teaching. Two other servers are Netcluster and Element. Netcluster is a multipurpose server use for small projects in core programming courses. Element is configured to support database oriented courses in need of apps like PostgreSQL and Maria DB.
Student organization servers
The Whitehatters Computer Security Club (WCSC) is a Department student organization with a focus on cybersecurity. WCSC supports a student team that competes in the yearly DEFCON Capture the Flag competition. The server setup is composed of systems running OpenStack. The servers are, Erlich – This is the Masternode and it is in charge for controlling all nodes and keeping most of the configurations for the competitive events, Richard – This is a compute node and is designed to work together with other compute nodes at the request of the Masternode, Gilfoyle – This is a compute node and is designed to work together with other compute nodes at the request of the Masternode, and Dinesh – This is a storage node and is designed to store all the data for the entire OpenStack.
The Department maintains the following equipment for educational use:
- 20 Dell 7020 workstation dedicated to the TAs for the department
- 1 DJI Inspire 1 drone
- 50 AnvylT Spartan-6 FPGA Development Boards for Computer System Design (CDA 4203)
- 30 ZedBoard ZynqT-7000 Development Boards for hardware elective courses
- 2 NAO robots for robotics elective courses
- Epson Interactive Projector installed in the main conference room
The Department has a full-time System Administrator to support the educational resources described above, allocate systems resources, and provide technical guidance/support to students and faculty. The System Administrator supervises a team of student assistants who provide appropriate technical support while earning practical IT experience.