Course Structure: We meet each Tuesday and Thursday: there is a lecture of about 30-40 minutes, followed by a lab exercise.
Each lecture will present some material I have posted before we meet. I will also write additional, required, material on the board. (Be ready to take notes.) Then, we use these materials to work a lab exercise which will be scored before you leave class that day.
You will also work 3 out-of-class programming exercises and two design-implementation projects. You will meet one-on-one with the instructor 3-4 times during the semester to examine your out-of-class work. (These are "design and code reviews", like those done in industry.) There will be two in-class exams, one scheduled just before Spring Break and the other scheduled at the Finals Week exam time.
Grading: The lab exercises, homeworks, projects, one-on-one meetings, and exams are all scored with point values. At the end of the term, the points are totalled, and letter grades are assigned. There are no fixed 90-80-70 cutoffs for the letter grades --- a "curve" is calculated based on the difficulty of the activities. (If you score 90% or better, you are guaranteed an 'A', in any case.) Important: if you want a 'C' or better from this course, it is necessary for you to average at least 50% on the two exams totalled --- knowledge has to stick in your head!
Please speak with the instructor any time during the semester if you would like an indication of your possible grade in the course.
University policies: The Provost has requested that the information at http://www.k-state.edu/provost/resources/teaching/course.html be added to every course syllabus. Consider it done. Also, see http://www.ksu.edu/Honor for the University's policy regarding academic honesty.
This course is the most critical of the "core" CS course sequence. You must do your own work on all homeworks and exams --- NO TEAMWORK ALLOWED WITH ANYONE. Ask the instructor or TA if you are stuck on something. Ask if you do not know what "no teamwork" means.
Prerequisite: A 'C' or better in CIS300. This should imply you have significant experience with C# and Visual Studio. Please see the instructor if you have questions about your preparation for this course.
Objective and Topics:
You will learn about software engineering and software architectures: how to read and write software blueprints, how to convert blueprints into code, and how to employ standard design patterns and software architectures in real systems.
Here is a list of topics to be covered:
Drop policy: It is your responsibility to drop the course if you are enrolled but decide not to complete the course --- there are no ``automatic'' drops due to nonattendance. February 24 is the last day to drop a course without a "W" recorded on your transcript; March 30 is the last day to drop a course (with a "W".
KSU allows a retake of a course with removal of the prior grade, at most once per course, for a maximum of five courses.
Academic accommodation for students with disabilities: If you have a physical or learning disability that requires special accommodation, please notify the instructor during the first or second week of the course.