Courses Taught

Operating Systems I

Seattle University CPSC 5041
Graduate course
Terms: Fall 2023, Winter 2025

Computer system infrastructure, implementation, and design. Topics include computer organization, memory, input/output, system calls, processes, and scheduling. Development of C++ programs using dynamic memory.

Operating Systems II

Seattle University CPSC 5042
Graduate course
Terms: Winter 2024

Computer system infrastructure, implementation, and design. Topics include virtual memory, concurrency, synchronization, and networking. Development of multithreaded concurrent programs and client-server networking programs.

Data Structures

Seattle University CPSC 5005
Graduate course
Terms: Fall 2024, Spring 2025

Data structures including binary search trees, priority queues, hash tables, and heaps. Recursion, sorting, and run-time analysis using big-O notation.

Software Architecture & Design

Seattle University CPSC 5200
Graduate course
Terms: Spring 2024, Fall 2025

Overview of design principles, architectural design techniques, modeling and analysis of complex software systems in terms of structural and behavioral modeling. Topics include functional and quality analysis, architectural styles and patterns, UML, design patterns, implementation frameworks, product families, dynamism, and emerging topics.

Software as a Service

Seattle University CPSC 4240 & 5240
Undergraduate & Graduate course
Terms: Fall 2025

Use of modern software development techniques and web-based tools to create and deploy cloud-hosted software applications. Project work by teams of students is an integral part of the course.

Capstone Industry Project

Seattle University CPSC 4880
Undergraduate course
Terms: Winter 2025

Principles of software engineering and their application in the planning and execution of a three- quarter-long software development project. Students work in teams to define and carry out software projects from initial requirements statements to final implementation. Activities include project management, as well as analysis, design and implementation of the software project.

Student Comments from Anonymous Evaluations

I really liked how the project developed gradually throughout the course. It gave me a lot of learning opportunities and helped me understand how an initial idea can grow into something practical and functional.
Insights from the industry on how things actually work were super helpful. As someone who wants to enter the SWE industry, the gap between what we do in class and how things happen in the industry, was huge. Prof. Kanade greatly helped in bridging that gap.
Enthusiastic about topics and knowledgeable. Brought in guest speakers pertaining to the topic opening doors for a lot of students.
The ability to explain information related to the course material efficiently through PowerPoints presentation, providing code demonstrations and diagrams. Additionally providing a pdf of the presentation prior to class to follow along.
I think the lectures were very engaging and well explained/paced. The exams and assignments were well written, prepared, and challenging enough. The grading was always fair and focused on the important points.
I feel like Ritika's invaluable professional insight into the 5041 topics definitely made this class a lot more enjoyable! It is really hard to fake liking such a complex set of topics and you can tell she does authentically enjoy them! This enthusiasm is transferred into the quality of the class!
Ritika continually offered real-world examples from her own career. The worksheet exercises (cache, scheduling gant) were great practice and helped me engage with the material. The simulator assignment (HW8) was one of the best assignments I've had in the program because it was relevant and helped me learn the material.
The Data Structures course was an incredibly rewarding experience. The rigorous curriculum and well-balanced assignment workload made it both challenging and engaging. One of the standout aspects of the course was the completeness of topic coverage. It thoroughly explored data structures while simultaneously delving into programming language concepts, providing a dual perspective that was both practical and enriching. I particularly enjoyed the class exercises. Although small in scope, these exercises offered an excellent opportunity to step back from coding and analyze problems with pen and paper. This approach not only reinforced core concepts but also honed problem-solving skills in a hands-on, conceptual way.
Definitely seeing real world presentations and examples during lecture. Seeing how different architecture presentations are delivered to customers and in-house departments is very helpful. Bringing in brilliant guest lecturers as well is very helpful. While scary for us, I think having mock interview/student led board lectures was also helpful, especially coming from somebody that works at Apple. It gives us a better scope for how to improve and focus on the things that are most important.
The lectures were particularly effective because the professor presented the material clearly and thoroughly using well-prepared slides. Her teaching style made complex concepts more accessible and easier to understand. As a result, we were able to gain a deeper and more comprehensive knowledge of the subject matter. The structured format of the lectures, combined with the professor's expertise, significantly enhanced our learning experience.
Professor Kanade taught with an engaging teaching style because she is truly passionate about coding. She implemented weekly handouts as a use for both attendance and to practice freshly- introduced data structures. Professor Kanade also gave students insightful discussions regarding the tech industry and real-life scenarios (e.g. how common a certain data structure is, real-life use cases, general discussions, etc.). The exams were exactly the material taught from class and I did not feel like I was caught off-guard by unexpected questions. She is the best - please keep her at Seattle U!
I really appreciated how clearly the professor explained everything. She had a way of breaking down the material so it actually made sense, even when the topic was more complex. What made the class even better were the activities she included—they weren’t just busywork, they actually tied into what we were learning and helped me understand the content better. The workload was also very reasonable, which made it easier to stay on top of things without feeling overwhelmed.