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 lab Moench F-217, Sundays 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 Moench D-219 (the CSSE Security and Operating Systems Lab),
and some nights there may be a student assistant
in that room also.
- Your student ID gives you 24/7 access to both of those labs.
- 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 (Chandan Rupakheti or David Mutchler),
or just stop by:
| Chandan Rupakheti |
David Mutchler |
|
Office: Moench F-203
Email:
rupakhet AT rose-hulman.edu
Phone: 812-877-8390
|
|
Office: Moench F-204
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 |
| Exams |
Paper-and-pencil portion |
in Python |
7 |
| in C |
3 |
| On-the-computer portion |
in Python |
28 |
| in C |
12 |
|
Three-week team project in Python
|
50 |
Since there are five categories, that gives you five scores.
Compute both W, the weighted average of those five scores, and S, the smallest of those five scores.
Your course numeric score is then the smaller of W and (S + 10). Convert this to a letter grade on the scale:
- A: 95 and up
- B+: 90 to 95
- B: 85 to 90
- C+: 80 to 85
- C: 75 to 80
- D: 65 to 75
- F: Below 65
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,
either the tag GOT_HELP or the tag NEED_HELP,
along with the name of the person who helped you.
- Use the GOT_HELP tag when the help cleared up your questions.
- Use the NEED_HELP tag when you don't completely understand the solution that you are turning in.
Those tags will help us know what concepts to help you with. Spell them exactly as above, since we may semi-automate the search for them.
- 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?
Within reason, yes, but only if when the assignment is due (or soon thereafter), you email your instructor a short note saying when you expect to turn in the assignment.
And if you miss that second due date (that you chose yourself),
you must immediately make arrangements to discuss it with your instructor.
If you fall behind, it is very hard to catch up.
Don't abuse this policy.