All students are responsible for reading the course syllabus and abiding by the policies described there.
Recitations
Recitations will be used for special topics and for meetings with teams once the semester project is underway.
All meetings will be on-line.
You will attend from your “development machine”.
Recitations will:
Recitations will be used for informal individual meetings and group meetings. All dates will be specified in the course outline.
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).
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
Contact Info
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: The course name “CS350” should appear in the subject line of all course-related email.
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 & holidays you can usually expect a reply within 48 hours.
Forums are also available on Blackboard for general discussions.
Due to COVID-19 all office hours will be held via web conference.
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.
Academic Honesty (cont)
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?
Build Management (Gradle)
Build Management (Gradle)
Build Management (Gradle)
Build Management (Gradle)
I will present a couple examples of TDD and regression testing 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.