Teaching

Mahdieh Zabihimayvan, Assistant professor of Computer Science, Central Connecticut State University

I appreciate my students who nominated me for Excellence in Teaching award! Not all credits only go to me while it is my students also. Thank you for inspiring me in my teaching!

I thank my professors in Ferdowsi University, Iran, Prof. Mahdi Abadi, Prof. Saeed Abrishami, and Prof. Ahad Harati, who taught me how to teach.

Books recommended to read

Books recommended to learn computer science and programming: link

Courses I have taught so far:

Spring 2023: CS/CYS455 (Secure Software Development)

Course description: This course introduces a variety of topics on implementing secure software using different programming languages. The primary focus is given to design and development techniques used to avoid the most common software errors by using defensive coding techniques, managing resources securely, and creating secure interaction between components.  

Spring 2022-23: CS/CYS492 (Computer security)

Course description: The fundamentals of computer and network security issues are explored. Topics include classical and modern techniques of conventional encryption; algorithms; public-key encryption, and hash functions; network security, with regard to e-mail, IP, and the Web; and system security intruders, viruses, worms, and firewalls. 

Students in this course will choose a topic with my approval that will show in depth knowledge of implementing a specific aspect of the concepts of the course. This is a semester-long project where the students will work in teams of 2 to propose, design, and implement a real-world application of computer security.

Fall 2021: CS430-580 (Big Data Programming)

Course description: Learning the most important information technologies and programming techniques used in manipulating, storing, visualizing, and processing big data. The emphasis of the course will be on programming tools, machine learning algorithms, and using these to initiate and design highly scalable systems that can accept, store, and process large volumes of data in batch mode and/or real time. 

Fall 2020-22: CS493-560 (Secure Software Designs)

Course description: Study of the approaches, mechanisms, and tools used to make software systems more secure. Most of the course will be divided into four main modules: 

CS493 students complete a semester long project where they design and implement a secure benign Web crawler. Projects start with a data collection process involving scripts that crawl the Web to collect and process the data. The crawlers need to follow benign navigational behaviors and should be able to identify and avoid crawler traps. 

Online resources suggested to read:

Fall 2021-22, Spring 2021-23: CS355 (System Programming)

Course description: Design and development of systems software. Most of the course will be divided into: 

Recommended resources for the course: link

Fall 2020: CS110 (Introduction on Internet Programming)

Course description: Examination of history of world wide web, physical infrastructure, and internet protocols. Techniques will be taught for developing web pages using HTML, CSS, and JavaScript.

CS110 students complete a semester long project where they design a website using HTML and CSS. Projects start with discussion between team members to select a topic for their project to design the website. Web pages need to follow a consistency in topic, design, and layout.