All students are responsible for reading the course syllabus and abiding by the policies described there.
Recitations: Mon 1:00pm-3:00pm and Wed 6:00pm-8:00pm (selected weeks)
Recitations will be used for special topics and for meetings with teams once the semester project is underway.
Lectures: No regularly scheduled meetings
Lecture materials for this course will be available on-line, primarily in printed/text form.
I am in the process of updating these recordings and examples.
I provide recorded Reviews on the course site. These are, in general, condensed versions of what would traditionally be live lectures. This includes:
As a general policy I make all three sets of reviews available to CS 350 and CS 330 students. You will find direct links to CS 350 Review Recordings throughout the outline. I will update these reviews throughout the semester (as necessary).
Students who have not taken CS 330 are encouraged to take CS 382 (Introduction to Java) as a pre-requisite or, at the very least, to work through that courses’s website during the first few weeks of the semester.
Individual assignments (3 attempts each). Assignments will include:
This a non-exhaustive list.
A moderately large program on which you will work in teams of 4-6 people.
Five phases:
In general, you will be evaluated upon process as much as upon you ability to produce working code.
Five phases:
I will assign you to a team, at random, for the first phase (Phase 1).
You will choose your own teams for the remaining phases
Five phases:
The final three phases will be evaluated in part via a team meeting with the instructor.
General rule is that if one member of a team does not know something, that’s a mark against that person. If two people don’t know something, that’s a mark against the entire team.
At end of some meetings, you may receive a short test/assignment, which each team member must complete individually within a limited time period (a day or less).
CS 252 (Introduction to Unix for Programmers)
CS 252 (Introduction to Unix for Programmers)
and
CS 252 (Introduction to Unix for Programmers)
and
CS 252 (Introduction to Unix for Programmers)
and
CS 252 (Introduction to Unix for Programmers)
and
Instructor | Office | Phone # | Home Page & Office Hours | |
---|---|---|---|---|
Thomas J. Kennedy | Dragas 1100D | 757.683.7725 | tkennedy@cs.odu.edu | http://www.cs.odu.edu/~tkennedy |
Important: All email related to this course should have the phrase CS 350 somewhere in the subject line. This flags your message in my mailbox for faster attention.
This is my general email policy. However, this is usually $O(n)$ (i.e., an upper bound).
I try to respond to all (properly marked) messages before I leave campus each day (Monday through Friday). On weekends and holidays within 48 on weekends & holidays.
Forums are also available on Blackboard for general discussions.
My general office hours are available at https://www.cs.odu.edu/~tkennedy/. Instructions for scheduling a formal appointment are listed here. Note that my office hours include both live and web-conference based appointments.
… are not normally accepted. Exceptions may be made in cases of
Extensions to due dates will not be granted due to
ODU is governed by a student honor code.
Assignments: | 15% |
Semester project: | 50% |
Midterm exam: | 15% |
Final exam: | 20% |
Questions
Questions
Questions
What is “Engineering”?
Questions
What is “Engineering”?
Is there “engineering” in software development?
I will present a couple examples of TDD and regression in a separate discussion.
Exemplified by the philosophy of “write the tests first, then design and write the code.”
Making sure that you and others can build the system easily.
Making sure that you and others can build the system easily.
A good build manager will not only compile and link the source code…
Making sure that you and others can build the system easily.
A good build manager will not only compile and link the source code…
It will also run the tests
Making sure that you and others can build the system easily.
A good build manager will not only compile and link the source code…
It will also run the tests
Making sure that you and others can build the system easily.
A good build manager will not only compile and link the source code…
It will also run the tests
and update the documentation and reports
Making sure that you and others can build the system easily.
A good build manager will not only compile and link the source code…
It will also run the tests
and update the documentation and reports
The ability to track changes in the software.