There will be no programming assignments in this course. Ultimately, the goal of this course is to improve your skills to make successfu judgments rather than use a specific set of tools or a particular approach to engineering a software artifact. 

All assignments will involve evaluation and interpretation of given situations rather than practice in applying particular development techniques.

There will be two types of assignments: Home and in-class and occasionally students should answer to a few specific questions on a topic or paper during the lecture hours. In fact, class sessions will involve a lot of discussion.

There will be a midterm and a final exam. 

Class Sessions

Class meetings include a mixture of lecture and discussion. You will find some concepts are easily learned from the lecture notes. However, many topics such as agile development, DevOps, cohesion and coupling are difficult to learn on your own so they will be exercised in lecture hours. You will get the most out of the class if you participate in the class discussions.