CSSE 120 – Introduction to Software Development (Robotics section)
Syllabus
What you will learn
- What software development is
- Best practices for software development
- Including working in teams
- How to implement your ideas in a
programming language
- In two programming languages: Python and C
How to succeed
- Understand the homework (just “doing” it is not enough).
- Attend class.
- Immerse yourself in the Python project. Be a world-class teammate.
- Prepare for each exam. If there are practice problems, do them!
- Be honest. (See Academic Integrity below).
- Work efficiently — get help quickly when you get stuck or are confused.
- In class, ask questions of your instructor, the student assistants, and reliable classmates.
- Visit the students assistants in the CSSE Robotics Lab Moench D-219, Mondays through Thursdays, 7 p.m. to 9 p.m.
- Consider doing your homework there routinely! That way, you can get instant answers to your questions.
- There are robots in that room also.
- Your student ID gives you 24/7 access to this lab, as well as to the other CSSE labs (Moench F-217 and Moench F-225).
- Email csse120-staff AT rose-hulman.edu with questions (replace AT with @).
- This email is read (and answered) by several people. You'll usually get a fast reply.
- Make an appointment to meet with your instructor (David Mutchler),
or just stop by:
| David Mutchler |
|
Office: Moench D-215
Email:
mutchler AT rose-hulman.edu
Phone: 812-877-8426
|
Assessment Plan (how you earn your grade)
For the first 7½ weeks of the course, you implement in the programming language Python; for the last 2½ weeks,
the programming language C.
To compute your grade in the course:
- Rule 1: To pass the course, you must:
- Complete and get a score of at least 70% on EVERY homework assignment and EVERY quiz.
- You may redo any homework or quiz until you obtain a passing score on it.
- Attend almost all of the classes and do the in-class exercises.
- Do NOT come to class if you are sick.
Instead, email your instructor so that he can suggest how you can make up the
missing work most efficiently.
- If you have a good reason to miss a class (e.g. your best friend's wedding),
alert your instructor, preferably in advance, and be prepared to make up the work done in class.
- If you have two unexcused absences, you MUST schedule a meeting with your instructor at that point to discuss whether you should continue the course.
- Rule 2: Assuming you succeed per Rule 1, first compute your score in each of the following categories:
| Category | Weight in overall average |
| Tests (including the final exam) in Python |
40% |
| Tests (including the final exam) in C |
20% |
| Three-week team project in Python |
40% |
Since there are three categories, that gives you three scores.
Compute both W, the weighted average of those three scores, and S, the smallest of those three scores.
Your course numeric score is then the smaller of W and (S + 10). Convert this to a letter grade on the scale:
| A | 92 and up |
| B+ | 87 to 92 |
| B | 82 to 87 |
| C+ | 77 to 82 |
| C | 72 to 77 |
| D | 62 to 72 |
| F | below 62 |
For example, suppose that you score 95 on your Python tests and Python project, but only a 70 on your tests in the C programming language. Then W is 90 (B+), but S is 70, so your course grade is 70 + 10 = 80, which would be a C+.
An admittedly unusual assessment plan,
but designed to help you succeed on all the key aspects of this course.
Academic Integrity
Recall the Institute policy on academic misconduct:
“Rose-Hulman expects its students to be responsible adults and to behave at all times with honor and integrity.”
- For homework and quizzes: Getting help and working with others is encouraged for these assignments. Just follow these three rules:
- Attempt the problem yourself first (or with your partner in a pair exercise).
It is NEVER right to begin by copying someone else's solution.
- Make a sincere effort to understand the concepts behind the problem on which you are getting help.
- Give due attribution for help on your programs by putting within a comment, directly above whatever you are working on,
an indication of what you got help on, from whom.
- For your major project in Python:
This will involve some division of labor, but only in ways that enhance your learning.
We'll explain the special rules for this project when we assign it.
- For exams:
These are to be done INDIVIDUALLY, with NO COMMUNICATION with anyone other than your instructor and his delegates.
The typical penalty for violating the last item is an F in the course and possible suspension from the Institute.
We understand the pressures that students face. You'll find that we are extremely flexible in helping you out of a jam,
but cheating hurts you in the long run and penalties are stiff even in the short run.
If you are tempted to cheat, don't; instead, come talk to us.
Can I turn assignments in late?
This course uses the flipped classroom structure:
- Prior to each class session,
you will watch some videos and do a short quiz to gain a basic understanding of the material for the session.
- During the class session,
you will do exercises (with one-on-one help as needed) to gain a deep understanding of the material for the session.
The exercises that you begin at one session should normally be completed before the following session.
For example, the exercises that you begin at session 4 should normally be completed before Session 5.
But:
- It is perfectly OK to bring questions about the exercise to the following session,
and to finish up the exercise at that following session.
- For example, bringing questions about the Session 4 exercise to Session 5,
and finishing the Session 4 exercise in the first part of Session 5,
is fine.
- There is no penalty for turning in an assignment at any time up to 5 days from when the assignment was to be begun.
- For example, since Session 4 is on a Tuesday (so that it should normally be completed by Thursday),
there is no penalty for turning it in as late as Sunday.
But avoid the trap of routinely being behind!
If your grade on an assignment is below the required 70%,
you have 5 days from when the assignment is returned to you to
make the necessary corrections.
If you fail to turn in an assignment per the above,
you must meet with the instructor right away to discuss whether you should continue the course.
If you fall behind, it is very hard to catch up.
Don't abuse this policy.