SE 2040: Software Development III, 2015-16

Instructor: Rob Hasker (414-277-7326)

Office hours: See my home page: https://faculty-web.msoe.edu/hasker/

Textbooks: A Tour of C++, Bjarne Stroustrup, Addison Wesley, 2014, ISBN 978-0-321-95831-0
Programming Ruby - The Pragmatic Programmer's Guide, Dave Thomas and Andy Hunt, 2001; available at http://ruby-doc.com/docs/ProgrammingRuby/

Course Description: This course introduces students to the C/C++ programming language in order to give them a working knowledge of the language as well as broader experience with system programming languages. In addition, students are introduced to two additional programming language paradigms to which they had not yet been introduced to previously: scripting languages and functional programming languages, in order to give them awareness of alternate programming approaches and when best to employ the various approaches.
Prereq: CS 2852

Course Outcomes: On successful completion of this course, the student will be able to

Grading

  Percentage  
Labs  35%
Quizzes/homework:  15%
Midterm:  25%
Final Exam:  25%
Total: 100%

The MSOE grading scale will be used, though I reserve the right to award higher grades to individual students if it increases fairness. In addition, successfully demonstrating mastery of course outcomes is a prerequisite for a passing grade. This includes completing assignments even if worth zero points and taking the final exam.

Communication

Course materials will be posted at my class web site https://faculty-web.msoe.edu/hasker/se2040/. I also use email extensively; I expect you to read your MSOE email at least once a day.

Labs, Assignments, and Quizzes

Lab solutions which do not run or which do not produce some correct output will be worth 0 points. However, you can get partial credit for partially working solutions. Time box any problems you are encountering, and contact your instructor if you exceed that time!

Unless otherwise announced, the penalty for a late solution is 10% of the total points for the assignment. Solutions submitted more than one week late will be worth zero points unless there are extenuating circumstances and you make arrangements in advance.

Assignments are individual unless we explicitly state otherwise. It is OK to look at another student's code with them to help them fix an error, but it is not OK to have a copy of another student's code at any time or in any form. Electronic tools will be used to identify plagiarism, and students guilty of either copying or "loaning" out their code will be penalized.

Code will be graded for both style and correctness. The most frequent mistake is in using (hard) tab characters in source files - this is a practice that is strongly discouraged in industry, and it makes your code harder to grade. Be sure you now how to configure your editor to insert spaces instead of tabs.

Missed quizzes cannot be made up, but at least one of the lowest quiz or homework scores will be dropped.

Reasonable accommodations will be provided for students with physical, sensory, cognitive, systemic, and psychiatric disabilities. Please discuss any accommodations you may need with your instructor.

Attendance

Do not skip class! If you do happen to miss, be sure to check for new materials and get the notes you missed from a friend before the next class period. You are responsible for anything missed! If you need to be excused from class for MSOE activities or religious observances, be sure to me know in advance. If you're sick, it's obviously not a good idea to come to class. This includes days on which there are exams; just be sure to contact me as soon as you can get to a phone or computer.

Using phones and laptops during class to check social media, write papers, etc. is a form of missing class!

Failing to submit more than two labs is considered strong evidence of not attending class and may result in being administratively dropped from the course.

When an exam is missed, I will determine whether to give you a make-up exam or increase the weight of the other exams. All students must take the final exam to receive a passing grade in the course unless the student has been excused in advance.