Dr. Jody Paul
jody@acm.org
Introduction to Software Engineering
General Information

INTRODUCTION

This course extends students' Computer Science and Engineering education with respect to the real-world enterprise of software engineering. Since the development of software is central to all but the most theoretical and esoteric aspects of the field, the knowledge and exposure to tools and techniques provided by this course are considered crucial to success in the field.

The focus is on those factors that have the greatest influence on the success or failure of a software product. (It may come as a surprise to some that "coding" issues are relatively low on this list.) Only the most relevant and most important content will be included in this single semester course. Students are encouraged to expand upon this foundation through self-study. (The optional reading list is a good place to start.)


TOPICS

  • Characteristics of Software Engineering
  • Software Life Cycle & Development Paradigms
  • Problem Analysis & Requirements Engineering
  • Analysis & Design Tools
  • Human Factors and Usability
  • Design Strategies
  • Validation & Verification
  • Ethics & Risks
  • Software Project Management
  • Legal Protection of Intellectual Property Rights
You are encouraged to take the Software Engineering Fundamentals Conceptual Knowledge Self-Assessment at the beginning and end of this course. It is also a good idea to use a copy during the course as a reference and learning guide.

TEXTS & RECOMMENDED READING

Follow this link to: Software Engineering Books


SPECIAL NOTES

Attend all classes, work hard, maintain a positive attitude, treat others here with respect: under these conditions you can't help but get a good grade.
This course differs from other computer science courses in that it deals with practical issues of solving problems in real-world contexts. This course provides you with a foundation for successful problem-solving with focus on software technology. Communication issues form a significant part of the material. You should be prepared to deal with open-textured concepts and problems that do not have definitive solutions.
Your professor loves this field and loves teaching. He will try some new things during the semester, some of which may bomb. He will make sure that you are not hurt grade-wise by such experiments.

PREREQUISITES

  • Data structures and program design, analysis of algorithms, principles of programming languages, discrete mathematics.
  • Writing workshop, communication. English composition skills are necessary to succeed in this course.
  • Facility with programming and use of computer systems.
  • Basic social skills: self-discipline, ability to work in collaboration with others.

HOW CAN YOU BE ASSURED OF A GOOD GRADE?

Attend and participate in all classes.

Spend the necessary study time on the topic.

Keep up with all assignments, especially readings. Expect to spend several hours of your own study time every week in addition to time spent working on specific assignments.

Memorization requirements are minimal in applied engineering, but some memorization is necessary for acquiring the fundamental basics.

Send a message or come see your instructor for help whenever you are unclear.


COURSE REQUIREMENTS & GRADING

You are responsible for all course-related items and following any course-related decisions made at any class session, whether you attended that session or not.

Written material must be printed, include proper citations, be free of all spelling and grammatical errors, and use professional language. You are encouraged to make use of the writing support resources available to students (such as the UCD Writing Center, x64845) as well as computerized spelling and grammar checkers.

To facilitate learning and assessment, each student is encourage to develop and maintain a portfolio documenting course-relevant activities and products. The portfolio should document all learning activities, exercises, and assignments. Each item in the portfolio should be annotated with a description and a reflection (insights and observations). The portfolio should also include an annotated bibliography of sources and references. Details of portfolio structure and assessment will be discussed in class.

Anticipate two midterms, dates to be decided by the class members, and no final.

Each student is expected to make a positive contribution to the class environment.

All grading policies, procedures and criteria are subjects of "full disclosure." Throughout the semester, if you ever feel unsure about the assessment rubric or weighting scheme, please discuss this with your instructor at once.

Grades are based on quality of work, taking into account the assignments, examinations, portfolio, and contributions within the class group. Grading is relative to normative standards and is non-competitive. The grade of one student does not affect the grade of another (no grading "on a curve"). The specific weighting scheme will be discussed in class.


DEADLINES

Work is accepted at any time prior to the agreed upon deadline. You need not wait until the actual deadline to turn in your work.

Make-up work is not accepted unless you have first cleared late submission with your professor. If late submission is granted, grading of late assignments will reflect the assumption that you have had the opportunity to benefit from using the additional time between the deadline and actual submission and having seen all others' work before finishing yours, whether or not these are actually the case. Typically this results in a grade of only 25% of the points the assignment would have received if turned in before the deadline. No late submissions will be accepted once answers to an assignment have been discussed in class or if the assignment has been reviewed and returned.



GoTo Go to the Software Engineering home page




©1994-1998 Dr. Jody Paul  - All Rights Reserved