Advanced Programming with Data

Time: Tue/Fri 9:50-11:30 ET/Boston

Location: Online (See Canvas for connection info.)

John Rachlin

Associate Teaching Professor, Northeastern University


E-mail j.rachlin@northeastern.edu
Web https://www.khoury.northeastern.edu/people/john-rachlin/
Office Hours Wed 10a-12p, Thu 2p-5p on Zoom.
By appointment only.
Email me to arrange other times.

Teaching Assistants

Please check Piazza for the latest office hours schedule.
No appointment is necessary.
No OH on University holidays


Mahek Aggarwal
        
Julian Benitez Mages
        
Benoit Cambournac
        
Shannen Espinosa
 
 
 

Vinesh Gande
        
Claudia Levi
        
Firdose Shaik


About the course

Catalog Description

Offers a deep dive into the design and implementation of enterprise-grade software systems with an emphasis on software architectures for more complex data-driven applications. Covers extensible architectures that support testing, data provenance, reuse, maintainability, scalability, and robustness and building software APIs and libraries for wide-scale adoption and ease of use. Students design, implement, and test complex loosely coupled service-oriented architectures using distributed processing, stream-based data processing, and interprocess communication via message passing. Explores the features, capabilities, and underlying design of popular data analysis and visualization frameworks.

4.000 Credit Hours
Prerequisites: DS2500: Intermediate Programming with Data

Classroom Environment

This is an online course with live lectures. The lectures will usually be recorded for your convenience. Recorded lectures will be available through Canvas: Zoom Meetings...Cloud Recordings. Attendance will be taken and will factor into your final grade. I will be using git to distribute handouts and code examples we develop together in class. I recommend you use a second monitor in case you want to code along with me. I would grately appreciate it if you would turn your cameras on. It is much more interactive and engaging when we are all present and seeing your faces will help me to get to know you. Feel free to ask questions by unmuting your microphone, or by posting a question in chat.

Recommended Readings

There is no single text book for the course. Readings will be assigned on a topic by topic basis. They are intended to give you a deeper understanding of the material beyond the examples and concepts presented in class. All readings will be from chapters in texts that are freely available O'Reilly E-Books. (As Northeastern students, you have free access to this terrific resource!) This partial list will be updated as the semester proceeds. As an added convenience, I will compile all referenced books into a convenient playlist.
DD19 Deitel and Deitel (2019): Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and the Cloud, 1ed. (Pearson)
PG20 Percival and Gregory (2020): Architecture Patterns with Python: Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices (O'Reilly)
LP21 Lott and Phillips (2021): Python Object Oriented Programming, 4ed. (Packt Publishing)
GD20 Gift and Deza (2020): Testing in Python: Robust Automation for Professionals. (Pragmatic AI Solutions)
CS14 Chacon and Straub (2014) Pro Git: Everything you need to know about Git. (APress).
Website version: https://git-scm.com/book/en/v2.