Engineering Computing Labs
This computing laboratory provides a Linux-based environment for engineering and computer science instruction. The space supports electrical engineering simulations, software development, and systems-level computing using both open-source and industry-standard tools.
The lab is primarily used by undergraduate and graduate students for programming, modeling, and analytical tasks that require a stable and flexible computing platform aligned with modern engineering practice.
Lab courses
ECE221: Electric and Magnetic Fields
ECE295: Hardware Design and Communication
ECE297: Software Design and Communication
ECE326: Programming Languages
ECE334: Digital Electronics
ECE344: Operating Systems
ECE361: Computer Networks I
ECE419: Distributed Systems
ECE437: VLSI Technology
ECE444: Software Engineering
ECE454: Computer Systems Programming
ECE466: Computer Networks II
ECE467: Compilers and Interpreters
Topics include
The ECE Linux “Engineering Computing Labs” cover a broad spectrum of foundational and advanced topics in computer and electrical engineering. Students will study the fundamental laws of electromagnetics and VLSI fabrication techniques, including device modeling, IC processing, and Spice simulation, alongside digital design techniques for integrated circuits. The curriculum introduces engineering design processes for both hardware and software systems, familiarizing students with industry-standard tools, practices, and skills. Core operating system concepts such as concurrency, synchronization, deadlock, CPU scheduling, memory management, and file systems are explored in depth. Networking principles are addressed through layered network architectures, the TCP/IP protocol suite, sockets, application layer protocols, Ethernet, wireless LANs, and packet switching. The lab also emphasizes distributed systems, highlighting heterogeneity, security, transparency, concurrency, and fault tolerance. Students also learn fundamental programming techniques for modern multicore, multithreaded, and parallel hardware, along with methodologies for developing large software systems, including testing and quality assurance. Compilers and interpreters are explored through practical tools and techniques, including regular expressions, finite automata, formal grammars, lexical scanning, syntactic parsing, semantic analysis, and runtime organization. These labs also reinforce mastery of diverse programming paradigms, encompassing object-oriented, scripting, functional, and logic-based approaches.
Lab access
The room is open only at specific times during the day for scheduled courses when TAs are present. This lab is not open after hours or on weekends.
Remote access: You can access the computers in this room remotely. See schedule of availability and how-to instructions.
Computer accounts
You are required to have a valid and active Engineering Computing Facility (ECF) account to access the computers in this lab. First-time users must activate their account.
Lab regulations
All individuals must adhere to the lab regulations and safety procedures outlined in the ECE Safety & Operational Training. Note that food and beverages are strictly prohibited within the lab premises.