COMP 130-01 |
Introduction to Computing Instructor: Matt Ferland Course Description:
An introduction to computer science as a scientific discipline. The key elements of computer programming will be introduced, using the Python programming language. This leads to techniques for solving problems and conducting scientific investigations via computation. Core topics include: programming constructs such as conditionals, loops, functions, and parameters; data structures such as arrays and dictionaries; libraries and objects; algorithmic techniques such as recursion; and software engineering techniques such as testing and debugging. Additional topics include social, legal and ethical issues raised by computing and computing for the greater good.Students may not take this course for credit if they have already received credit for COMP 132 or COMP 232.
|
03:00 PM-05:00 PM, F TOME 118 08:30 AM-09:20 AM, MWF TOME 118 |
COMP 130-02 |
Introduction to Computing Instructor: Mohammad Naderi Dehkordi Course Description:
An introduction to computer science as a scientific discipline. The key elements of computer programming will be introduced, using the Python programming language. This leads to techniques for solving problems and conducting scientific investigations via computation. Core topics include: programming constructs such as conditionals, loops, functions, and parameters; data structures such as arrays and dictionaries; libraries and objects; algorithmic techniques such as recursion; and software engineering techniques such as testing and debugging. Additional topics include social, legal and ethical issues raised by computing and computing for the greater good.Students may not take this course for credit if they have already received credit for COMP 132 or COMP 232.
|
11:30 AM-12:20 PM, MWF TOME 118 03:00 PM-05:00 PM, W TOME 118 |
COMP 132-01 |
Principles of Object-Oriented Design Instructor: William Goble Course Description:
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.
|
03:00 PM-05:00 PM, T TOME 118 10:30 AM-11:20 AM, MWF TOME 118 |
COMP 180-01 |
Introduction to Data Science Instructor: Zach Kessler Course Description:
Cross-listed with DATA 180-01 and MATH 180-01. An introduction to theprinciples and tools of data science focusing on exploratory data analysis. Topics include types of variables, mathematical representations of data, data wrangling and transformations, data visualization and numerical summaries, and supervised and unsupervisedmachinelearning. The course includes an introduction to the R statistical programming language.Prerequisites: MATH 170 or department placement. This course is cross-listed as DATA 180 and MATH 180. Offered every semester.
|
01:30 PM-02:45 PM, TF TOME 121 |
COMP 180-02 |
Introduction to Data Science Instructor: Zach Kessler Course Description:
Cross-listed with DATA 180-02 and MATH 180-02. An introduction to theprinciples and tools of data science focusing on exploratory data analysis. Topics include types of variables, mathematical representations of data, data wrangling and transformations, data visualization and numerical summaries, and supervised and unsupervisedmachinelearning. The course includes an introduction to the R statistical programming language.Prerequisites: MATH 170 or department placement. This course is cross-listed as DATA 180 and MATH 180. Offered every semester.
|
03:00 PM-04:15 PM, TF TOME 121 |
COMP 190-01 |
Tools and Techniques for Software Development Instructor: William Goble Course Description:
An introduction to the Unix command line environment, shell scripting, system administration, debugging tools and version control. Skills developed will be applied in the context of a Humanitarian Free and Open Source Software (HFOSS) project. Case studies of social, legal and ethical issues raised by computing and computing for the greater good will complement the technical skill development. Prerequisite: 132, may be taken concurrently. One-half credit. Graded CR/NC. 75 minutes of classroom per week. Offered every fall.
|
09:00 AM-10:15 AM, T TOME 231 |
COMP 200-01 |
Data Systems for Data Analytics Instructor: Zach Kessler Course Description:
Cross-listed with DATA 200-01. A comprehensive introduction to the access, structure, storage, and representation of data as it applies to data analytics. The tabular data model, relational data model, and hierarchical data model are studied. Topics include the use of structured query language (SQL) to extract and manipulate data from a relational database, APIs to extract information from web services, and methodologies for processing unstructured data. The primary programming language used in the course is Python.Prerequisite: COMP 130 or 132, and DATA/COMP/MATH 180. Cross-listed with DATA 200. Offered every semester.
|
03:00 PM-04:15 PM, MR TOME 121 |
COMP 256-01 |
Computing Abstractions Instructor: Farhan Siddiqui Course Description:
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.
|
09:30 AM-10:20 AM, MWF TOME 231 03:00 PM-05:00 PM, W TOME 120 |
COMP 290-01 |
Large-scale and Open Source Software Development Instructor: William Goble Course Description:
An introduction to large-scale software development through participation in a Humanitarian Free and Open Source Software (HFOSS) project. Readings and discussions will focus on FOSS and HFOSS philosophy, licensing, communication tools, project and community organization, and software engineering topics related to large-scale software development. Case studies of social, legal and ethical issues raised by computing and computing for the greater good will complement participation in the HFOSS project. Prerequisites: 132 and 190. One-half credit. Graded CR/NC. 75 minutes of classroom per week. Offered every spring.
|
09:00 AM-10:15 AM, R TOME 231 |
COMP 314-01 |
Computability and Complexity Instructor: Matt Ferland Course Description:
Cross-listed with MATH 314-01. An introduction to the theory of computation, addressing the fundamental question of what problems can be solved using computers, both in principle and when efficiency is taken into account. Topics may include: finite automata, undecidable problems (such as the halting problem), Turing machines, regular languages, context-free grammars, universal computation, elementary complexity classes, NP-completeness, and the P vs NP problem.Prerequisites: 132 and MATH 211. This course is cross-listed as MATH 314. Offered every spring.
|
03:00 PM-04:15 PM, MR TOME 231 |
COMP 352-01 |
Computer Networks Instructor: Farhan Siddiqui Course Description:
An introduction to the fundamental concepts in computer networking with a focus on the Internets 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.
|
10:30 AM-11:45 AM, TR TOME 231 |
COMP 390-01 |
Free and Open Source Development Practicum Instructor: Farhan Siddiqui Course Description:
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 390-02 |
Free and Open Source Development Practicum Instructor: Grant Braught Course Description:
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 393-01 |
Topics in Data Mining Instructor: Mohammad Naderi Dehkordi Course Description:
An introduction to the fundamental concepts and methods for data mining. The course will focus on providing both a theoretical foundation and the practical skills needed to apply data mining methods to a variety of applications in various disciplines. Topics include supervised methods such as association rule mining, classification and regression, and unsupervised methods such as clustering.
|
01:30 PM-02:45 PM, MR TOME 231 |
COMP 492-01 |
Spring Senior Seminar Instructor: Grant Braught Course Description:
A continuation of the senior capstone course. Students continue the year-long project begun in 491. Class readings and discussions will focus on additional social, legal and ethical issues in computing, software engineering topics and contemporary issues in computer science. Written and oral presentation of technical and non-technical content and a final public presentation of the completed project will be required.
Prerequisite: 491. Offered every spring.
|
01:30 PM-02:45 PM, TF TOME 231 |
COMP 492-02 |
Spring Senior Seminar Instructor: Grant Braught Course Description:
A continuation of the senior capstone course. Students continue the year-long project begun in 491. Class readings and discussions will focus on additional social, legal and ethical issues in computing, software engineering topics and contemporary issues in computer science. Written and oral presentation of technical and non-technical content and a final public presentation of the completed project will be required.
Prerequisite: 491. Offered every spring.
|
03:00 PM-04:15 PM, TF TOME 231 |
COMP 500-01 |
Computer Wireless Network Instructor: Farhan Siddiqui Course Description:
|
|
COMP 500-02 |
Computational Management of Data Instructor: William Goble Course Description:
|
|
COMP 500-03 |
Study of Wireless Network Instructor: Farhan Siddiqui Course Description:
|
|