COMP 130-01 |
Introduction to Computing Instructor: Mohammad Naderi Dehkordi, John MacCormick 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 taken another Dickinson Computer Science course, other than COMP 180. Three hours classroom and two hours laboratory a week. Offered every semester.
|
03:00 PM-05:00 PM, W TOME 118 10:30 AM-11:20 AM, MWF TOME 118 |
COMP 130-02 |
Introduction to Computing Instructor: Lev Fruchter 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 taken another Dickinson Computer Science course, other than COMP 180. Three hours classroom and two hours laboratory a week. Offered every semester.
|
08:30 AM-09:20 AM, MWF TOME 118 03:00 PM-05:00 PM, R TOME 118 |
COMP 130-03 |
Introduction to Computing Instructor: Lev Fruchter 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 taken another Dickinson Computer Science course, other than COMP 180. Three hours classroom and two hours laboratory a week. Offered every semester.
|
03:00 PM-05:00 PM, M TOME 118 11:30 AM-12:20 PM, MWF TOME 118 |
COMP 132-01 |
Principles of Object-Oriented Design Instructor: John MacCormick, Matthew Lambert 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 09:30 AM-10:20 AM, MWF TOME 118 |
COMP 180-01 |
Introduction to Data Science Instructor: Eren Bilen 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 will include an introduction to computational tools such as the R statistical environment. No prior programming experience is required.Prerequisites: MATH 170 or department placement. This course is cross-listed as DATA 180 and MATH 180. 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 will include an introduction to computational tools such as the R statistical environment. No prior programming experience is required.Prerequisites: MATH 170 or department placement. This course is cross-listed as DATA 180 and MATH 180.
|
09:00 AM-10:15 AM, TR TOME 120 |
COMP 180-02 |
Introduction to Data Science Instructor: Eren Bilen 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 will include an introduction to computational tools such as the R statistical environment. No prior programming experience is required.Prerequisites: MATH 170 or department placement. This course is cross-listed as DATA 180 and MATH 180. 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 will include an introduction to computational tools such as the R statistical environment. No prior programming experience is required.Prerequisites: MATH 170 or department placement. This course is cross-listed as DATA 180 and MATH 180.
|
10:30 AM-11:45 AM, TR TOME 120 |
COMP 190-01 |
Tools and Techniques for Software Development Instructor: Grant Braught 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.
|
01:30 PM-02:45 PM, W TOME 231 |
COMP 200-01 |
Database Systems and Data Management for Data Analytics Instructor: Eren Bilen Course Description:
Cross-listed with DATA 200-01. A comprehensive introduction to the management and manipulation of database systems as it applies to data analytics. Topics related to data query languages to relational databases and NoSQL data systems will be covered, as well as the access and acquisition of other structured and unstructured data repositories available across the Internet. An understanding of techniques for transforming and restructuring data representations to allow for analysis will also be addressed.Prerequisite: COMP 130 or 132, and DATA/COMP/MATH 180. Cross-listed with DATA 200.
A comprehensive introduction to the management and manipulation of database systems as it applies to data analytics. Topics related to data query languages to relational databases and NoSQL data systems will be covered, as well as the access and acquisition of other structured and unstructured data repositories available across the Internet. An understanding of techniques for transforming and restructuring data representations to allow for analysis will also be addressed.Prerequisite: COMP 130 or 132, and DATA/COMP/MATH 180. Cross-listed with DATA 200.
|
03:00 PM-04:15 PM, MR TOME 121 |
COMP 203-01 |
Topics in Decision Science Instructor: Dick Forrester Course Description:
Cross-listed with MATH 201-01.This course will consider a mix of elementary and more advance topics in decision science. Possible topics include transportation and assignment problems, network optimization models, game theory, and metaheuristics.
|
09:30 AM-10:20 AM, MWF TOME 121 |
COMP 232-01 |
Data Structures and Problem Solving Instructor: John MacCormick Course Description:
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.
|
09:00 AM-10:15 AM, TR TOME 118 |
COMP 232-02 |
Data Structures and Problem Solving Instructor: John MacCormick Course Description:
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.
|
03:00 PM-04:15 PM, MR TOME 117 |
COMP 332-01 |
Analysis of Algorithms Instructor: Dick Forrester Course Description:
C A study of algorithmic approaches to problem-solving and techniques for analyzing and comparing algorithms. Algorithm design strategies such as divide-and-conquer, dynamic programming, and backtracking will be explored in conjunction with problems that they solve and the data structures that they use (e.g. graphs). Topics in computational complexity include formal use of upper, lower and tight asymptotic bounds, analysis of recursive algorithms and lower bound arguments.Prerequisite: 232, MATH 211. Offered every fall.
|
01:30 PM-02:45 PM, MR TOME 231 |
COMP 356-01 |
Programming Language Structures Instructor: John MacCormick, Matthew Lambert Course Description:
An examination of the major programming language paradigms. The course also explores the basic properties and special facilities of languages representing each paradigm. Topics include data types, scope rules, block structures, procedure calls and parameter types, and storage allocation considerations.
Prerequisite: 232. Offered every fall.
|
10:30 AM-11:45 AM, TR TOME 231 |
COMP 364-01 |
Artificial Intelligence Instructor: Mohammad Naderi Dehkordi, John MacCormick Course Description:
A survey of techniques for applying computers to tasks usually considered to require human intelligence. Topics include knowledge representation and reasoning, search and constraint satisfaction, evolutionary and genetic algorithms, machine learning, neural networks, and philosophical questions.
Prerequisites: 232 and MATH 211. Offered in even numbered fall semesters.
|
03:00 PM-04:15 PM, MR TOME 231 |
COMP 491-01 |
Fall Senior Seminar Instructor: Grant Braught Course Description:
A senior capstone course. Students identify and begin a year-long project with options including honors and independent research projects or participation in a Free and Open Source Software (FOSS) project. Class readings and discussions will focus on 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 will be required.
Prerequisite: 290 and Senior standing. Offered every fall.
|
01:30 PM-02:45 PM, TF TOME 231 |