CSC 223 - Advanced Scientific Programming

Instructor:
Dr. Dylan Schwesinger
Location:
OM 158
Meeting times:
Section 10: Monday, Wednesday, & Friday, 8:00am - 8:50am
Section 20: Monday, Wednesday, & Friday, 9:00am - 9:50am
Course Zoom meeting ID:
991 5174 7098
Office hours Zoom meeting ID:
732 788 237

Course Description

This course takes students deeper into the theory of scientific programming, building on a foundation of sound programming methodology and an understanding of the modern programming languages prevalent in scientific communities and of the specialized tools and libraries. Thorough grounding in computer science principles will enable the student to gain knowledge and skill to best leverage these tools for scientific study and research. Topics include basic concepts of problem analysis and program design both from a procedural and structural standpoint - algorithm development, algorithm analysis, data structures, data storage, data analysis and data visualization. Additional topics will include applications to scientific problems.

Prerequiste: (C or better in CSC 123) OR (C or better in CSC 135)

First Day Handout


Tentative Schedule

Week Reading Topics
1 WTP 1-4 Introduction to Python
2 WTP 6-8 Python Data Types and Control Flow
3 WTP 9 Python Functions and File IO
4 WTP 10, 14 Python Errors and Modules
5 WTP 11-13 Python Iterators and List Comprehensions
6 Exam 1
7 DSH 2 NumPy
8 DSH 3.1-3.3 Pandas Data Types
10 DSH 4.1-4.5 Data Visualization and Matplotlib
11 DSH 4.5-4.7 Pandas Combining Data
12 DSH 4.8-4.9 Pandas Aggregation and Grouping
13 Exam 2
14 Thanksgiving Break
15 WTP 15, DSH 4.10 Regular Expressions and Pandas String Processing
16 Final exam week