Tome Scientific Building Room 229
717-254-8312
Farhan Siddiqui's research interests are in computer networking, with a focus on mobile and ubiquitous computing, wireless networks, the Internet of Things, network protocols, and quality of service. Recently, she has also become interested in computer science education research, particularly in broadening participation in computing.
COMP 132 Prin of Object-Oriented Design
An introduction to object-oriented software design using Java. Topics include objects, classes, code modularity and reusability, abstraction, encapsulation, inheritance, polymorphism, and design patterns. Additional topics include unit testing, recursion, empirical and theoretical comparison of elementary algorithms. The lab component focuses on programming as a tool for solving problems and simulating real-world events. Prerequisite: Equivalent of one course of prior programming experience. See Advising Guide for placement advice for 130 and 132. Three hours classroom and two hours laboratory a week. Offered every semester.
COMP 354 Operating Systems
A study of the principles underlying the organization and implementation of computer operating systems. Topics include multiprogramming, time-sharing, mutual exclusion and synchronization, process scheduling, memory management, and file systems.
Prerequisites: 232 and 256.
COMP 390 Free/Open Src Dev Pract
An independent study in which an individual student or small team of students participates in a Humanitarian and/or Free and Open Source (H/FOSS) community for the semester under the guidance of a faculty mentor. Interested students must identify a faculty mentor, select and justify the H/FOSS community and negotiate the scope of work prior to registration. Prerequisite: 232 and 290.
COMP 256 Computing Abstractions
A broad examination of the role and evolution of the abstraction hierarchies that enable the construction of complex computing systems. Examples spanning the field of computer science will be used, including: machine organization and architecture, data representation, language translation, operating systems, concurrency, networks, and web application architectures. Prerequisite: 132. Three hours of classroom and two hours of laboratory a week. Offered every spring.
COMP 352 Computer Networks
An introduction to the fundamental concepts in computer networking with a focus on the Internet’s architecture and protocols. Topics include layered architectures, client-server computing, routing, switching, reliable and unreliable protocols, data encoding and compression, error detection and correction, flow control, congestion control, and network performance metrics. Additional topics may include wireless networks and security
Prerequisite: 232 and 256.
COMP 390 Free/Open Src Dev Pract
An independent study in which an individual student or small team of students participates in a Humanitarian and/or Free and Open Source (H/FOSS) community for the semester under the guidance of a faculty mentor. Interested students must identify a faculty mentor, select and justify the H/FOSS community and negotiate the scope of work prior to registration. Prerequisite: 232 and 290.
COMP 500 Independent Study