Faculty Profile

Farhan Siddiqui

Assistant Professor of Computer Science (2016)

Contact Information

siddiquf@dickinson.edu

Tome Scientific Building Room 229
717-254-8312

2023-2024 Academic Year

Fall 2023

COMP 232 Data Struct & Problem Solving
An advanced problem-solving course that focuses on the design, analysis and application of data structures including lists, stacks, queues, trees, and hash tables. Concepts in generic and functional programming are introduced. This course also further develops understanding and use of asymptotic analysis. Prerequisite: 132. Offered every fall.

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 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.

Spring 2024

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.