This course we will explore the foundations of software security. We will consider important software vulnerabilities and attacks that exploit them -- such as buffer overflows, SQL injection, and session hijacking -- and we will consider defenses that prevent or mitigate these attacks, including advanced testing and program analysis techniques. Importantly, we take a "build security in" mentality, considering techniques at each phase of the development cycle that can be used to strengthen the security of software systems. Successful learners in this course typically have completed sophomore/junior-level undergraduate work in a technical field, have some familiarity with programming, ideally in C/C++ and one other "managed" program language (like ML or Java), and have prior exposure to algorithms. Students not familiar with these languages but with others can improve their skills through online web tutorials.
- 5 stars73.13%
- 4 stars20.92%
- 3 stars4.29%
- 2 stars0.63%
- 1 star1.01%
Could have gone more deeper in some of the topics which were covered at very high level. Overall a good introduction to the subject matter.
Very nice and informative course with practical challenges to solve to get hands on idea of the topics learned during the lectures. Thumbs up.
Was prepared and presented in a very special and superb way. I am glad I took and completed it. Thanks to my tutor Michael Hicks and special appreciation to coursera for making this possible for me.
Very informative course, which gives you the basics needed to go further into any of the subjects presented. It is quite challenging but well worth the effort.