We need to teach how doubt is not to be feared but welcomed. It's OK to say, "I don't know."
— Richard P. Feynman
My experience as an Undergraduate Computer Science student can be summed up by the word "struggle." The incredibly challenging CS program at Stony Brook University gives many students the chance to grow but the lack of support can be overwhelming.
Knowing how difficult the program is, I was inspired to become a Teaching Assitant. I was fortunate to serve as a T.A for 3 consecutive semesters. As a Teaching Assitant, I am focused on facilitating my students' curiosity through relatable and applicable examples of coursework.
I understand the fear behind saying "I don't know" but I always encourage my students to say those words. Many students see that getting help or acknowledging their lack of understanding as a failing, but to my current and future students, I want you to know that that is a success. After all, even the Professors and T.As are students in some capacity as well and as a community we are here to help because even we don't know everything. Keep asking questions, no matter how "stupid" they may seem.
Stony Brook University
Mathematical analysis of a variety of computer algorithms including searching, sorting, matrix multiplication, fast Fourier transform, and graph algorithms. Time and space complexity. Upper-bound, lower- bound, and average-case analysis. Introduction to NP completeness. Some machine computation is required for the implementation and comparison of algorithms.
Introduction to systematic design, development and testing of software systems, including event-driven and Web programming, information management, principles and practices for secure computing, software design and development fundamentals, and the application of these skills to the construction of large, robust programs. Students design and implement a secure, full-stack, distributed web application.
Intermediate-level programming concepts and paradigms, including functional programming, object-orientation, basics of type systems, memory management, program and data abstractions, parameter passing, modularity, version control, and parallel programming. Includes weekly recitations, which provide students with experience in the practice of programming in a variety of high-level languages.
My Teaching Evaluations