The Department of Computer Science and Engineering gives students access to a wide variety of software and hardware development environments in the Computer Engineering Lab in ENB 214, the Software and Cybersecurity Lab in ENB 216, and by remote access to equipment in 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.
USF Research Computing hosts a student cluster computer (SC) which currently consists of approximately 10 nodes with nearly 240 processor cores running Red Hat Enterprise Linux 6. The cluster is built on the condominium model with 640GB of memory shared across the nodes in various configurations. The nodes utilize QDR InfiniBand for a computational interconnect. For long-term storage, students share a 2.4PB replicated file system for home directories and shared files that is on a nightly backup cycle. Research Computing also provides and supports more than 120 scientific software packages for use on a variety of platforms. Remote system and file access is available from essentially anywhere via VPN connection. Research Computing staff members are available to facilitate use of the cluster, as well as provide direct assistance. User education and training sessions are also provided upon request. Department classes make use of SC for instruction. COP 3514 Program Design uses SC for student 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 Teaching Laboratory
Department students can register for lab access to ENB 214 and ENB 216, which contain the Hands-on Cybersecurity Lab, Networks Lab, Mobile Devices Lab, Mobile Robotics Lab, Embedded Systems Lab, and Logic Design Lab areas.
Hands-on Cybersecurity Lab
The Hands-on Cybersecurity Lab area (previously named the Unix Lab area) consists of 40 enterprise-grade HP workstations with Red Hat Linux installed. These are HP ProDesk with Quadcore i5 and 8GB of memory; they are configured with RHEL 7.4 OS. 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, programing, and scripting assignments, and move around between systems over the network, as they please. These systems allow remote sessions via SSH, and are centrally managed and configured, ensuring a consistent configuration and quick recovery from misconfigurations or errors. The lab includes a back-end component. The back-end server and network infrastructure located in the department’s data center is comprised of several Dell servers, Cisco and Palo Alto firewalls, and a storage array, all of which provide a virtual sandboxed environment – effectively a “cyber range” – for cybersecurity instructional use. This lab area supports students in CIS 4622 Hands-on Cybersecurity and students in COP 4600 Operating Systems.
The Networks Lab area consists of three racks of networking equipment, where each rack includes an access server as well as a wireless controller and multiple routers and switches. This environment allows student to perform hands-on labs for CNT 4104 Computer Networks for IT Lab.
Mobile Devices Lab
The Mobile Device Lab area 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 are supports students in COP 4656 Mobile Device Programming.
Mobile Robotics Lab
The Mobile Robotics Lab area consists of 30 mobile robotics kits. This lab area supports students in CDA 4621 Control of Mobile Robotics.
Embedded Systems Lab
The Embedded Systems Lab area consists of dedicated work areas containing 50 AnvylT Spartan-6 FPGA Development Boards and 30 ZedBoard ZynqT-7000 Development Boards for CDA 4203 Computer System Design and some hardware electives. This lab area supports students in both core and elective computer engineering courses.
Logic Design Lab
The Logic Design Lab area consists of 32 dedicated work areas containing 32 Dell OptiPlex All-in-one workstations running Windows 10, 21 Philmore Multi-Voltage Regulated DC Power Supply MW122A, 10 BK Precision 4011A 5MHz Function Generators, and ten 100 MHz Tektronix MSO 2014 Oscilloscopes. This lab area supports students in CDA 3201L Computer Logic Design Lab.
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 (as described above).
This microblade cluster in the data center has 16 nodes. Each node contains a quad core CPU, 64GB of DDR4 Memory, and runs RHEL 7 Linux OS. This system supports department students in COP 4600 Operating Systems and other courses.
Cloudera Hadoop cluster
This microblade cluster in the data center is composed of one master and 22 nodes. Each node contains a quad core CPU, 64GB of DDR4 Memory, and runs RHEL 7 Linux OS. This cluster is used for cloud computing, and it’s configured with a Cloudera/Hadoop combination.
The department hosts several servers in the data center for specialized use. Two key servers are used for teaching; the first one relies on a Dell PowerEdge R520 hardware running RHEL 7.4 with Dual 8 core Xeon processors, 132 GB of RAM, and 15TB of disk space. This server is used to support teaching in which computationally intensive tasks are required. The second server relies on the same hardware, runs Ubuntu 20.04 LTS, and it is used to host virtual appliances used for teaching. Two additional servers are used for multipurpose roles, for example, for small student projects, as well as programming and database courses.
Student organization servers
The Whitehatters Computer Security Club (WCSC) is a department student organization with a focus on cybersecurity. The server setup for this student organization is composed of systems running Openstack. The servers are as follows: 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 also maintains the following equipment for educational use
- 50 AnvylT Spartan-6 FPGA Development Boards for Computer System Design (CDA 4203)
- 30 ZedBoard ZynqT-7000 Development Boards for hardware elective courses
- 20 Dell 7020 workstation dedicated to the TAs for the department
- 1 DJI Inspire 1 drone
- 2 NAO robots for robotics elective courses
- Epson Interactive Projector installed in the main conference room
The department tech support group is responsible for maintaining and upgrading all equipment in the Computer Engineering Lab, Software and Systems Lab, and in the department data center. Students and faculty can directly contact (or e-mail) the tech support group to report broken equipment or receive assistance in installing and configuring new equipment.