91.204.201 Computing IV, Spring 2015
Office hours: W 11a12p (OS208), R 2p3p (Olney 524), F 11a12p (OS208)
Section 202: Victor Grinberg (homepage), MWF 10a10:50a, Olsen 311
Shan (Ivory) Lu,
Note: Any student can meet with either TA.
Advanced C++ programming, which deepens students' understanding of object-oriented analysis and design. Basic software engineering principles and practice, including work with APIs. Topics may include program translation, web software, parsing, and regular expressions.
Materials for this course will provided on this site and in links to other sites. We will not use a textbook.
Expected Learning Outcomes
At the end of this course, you will be able to:
The Princeton stuff is great because it's all about how computing connects to the larger world.
It's not the usual stuff about using computing to do ever-more complicated things. This is necessary and valuable, but it's kind of self-referential and insular.
We will do the following:
Based on the historical role of Computing IV in UMass Lowell's computer science curriculum:
Collectively, these things represent to us what is the most important learning outcome of the course, which is you progressing down your journey of becoming an effective and confident software engineer.
Also, we will use the Unix shell and Makefiles in your software development. This will be done in a Unix environmenteither Linux or Mac. (Linux is recommended unless you are comfortable getting libraries working on your own.)
This is explicit learning outcome of the course, and it's required. If you're a Windows person, we'll be setting up for Linux development in the first week of the course.
You'll be seeing Emacs, the Unix shell, and Makefiles. You're welcome to use your own favorite text editor—as long as it's capable of helping you follow the coding standards we'll be using.
OK, that's the course overview! Now on to some more tactical things.
Course Structure and Grading
The class will have regular weekly assignments, which will be graded and returned.
These assignments are worth 50% of your overall grade.
Assignments will be accepted up to 1 week late with a 50% reduction in that assignment's value.
There will be two in-class exams during the semester. Each is worth 10% of your overall grade.
Instead of a written final, you will create a portfolio of your cumulative semester's work. This large document is 25% of your overall grade.
Classroom participation is 5% of your overall grade.
Discussion Group / E-Mail List
We will use a Discussion Group for class conversation and announcements. Critical information will be distributed via this list.
Lecture Blog and Capture
A daily summary of highlights of what happened in class each class meeting will be recorded in the Lecture Blog page.
In-class activity will be recorded using the University's Echo360 lecture capture system. This material is intended for your use if you must miss class, or if you want to go over again something that was presented/discussed in class.
You are welcome to discuss ideas in the class with your peers, but assignments must be completed individually. You may not look at each others' code, nor allow others to look at your code. When posting code on our own course forum for help, or a public forum, do not post more than an individual function.
If you received any help on a given assignment, you must discuss this in the assignment README file.
When turning in an assignment, you attest that, beyond any starter code I have provided or has been provided in standard API and reference documentation, you are the sole author the code that it includes.
Please be familiar with the university's policy on academic integrity.