Course Promises / Learning Objectives
By the end of the course, you will:
- Get ready to apply for and interview for whatever are your next projects after college
- Learn basic software engineering skills that enable smoother group work on large projects
- Apply those skills to work on a large, months-long programming project
- Learn how to pitch a project and present your results to your classmates
Student Responsibilities
We have outlined the skills and objects this course promises to provide you.
For this promises to be upheld, you will need to commit towards the policies
outlined below. To succeed you should:
-
Attend class.
The primary introduction to course material is through class lecture.
Additionally, we often do learning exercises during class, which
give you immediate experience with the material we are covering.
While I am more than happy to help with any material in office hours, priority
will be given to students who attend and participate in lecture. Office hours
are not to make up for missed lecture.
- Come to classes prepared.
I will often require that readings be done before class. Please come to class
having done the readings and be prepared to discuss
- Participate actively in learning process.
Showing up is necessary, but not sufficient to success in the course.
To fully develop your analytical skills, you are expected to participate
in class discussion. This includes asking questions during lecture portions
and engaging your peers during short class exercises. This is particularly important in a seminar
course in which much of the course will be driven by the participants.
-
Start the assignments early.
I realize this one is not always easy to do, but if you can get in the
habit of doing this, you will be much better off. As the labs get
longer and more difficult, starting early will give you plenty of time
to mull over the lab problems even when you aren't actively writing
your solution.
-
Respect Self-Imposed Deadlines
This is particularly important when working on large projects. It is easy to get behind and
convince yourself that you can catch up later. Please do not get stuck in that kind of cycle, it
will end badly. Follow the software engineering processes we will discuss in class and when
you fix a deadline, respect it (or have a really good reason why the objective had to be changed).
-
Practice, practice, practice.
The only effective way to
learn the material and pass the quizzes and exams is to consistently
do the labs.
-
Seek help early and often.
Because course material builds
on previous material, it is essential to your success in this class
that you keep up with the course material.