Syllabus of CSCE240 Introduction to Software Engineering

Course Summary

This course will cover the techniques and topics that are widely used in

Course Objectives

  1. Demonstrate mastery of object oriented programming concepts: inheritance, polymorphism, and operator overloading. {tests}
  2. Demonstrate mastery of pointers, iterators, memory management including object creation and destruction, and parameter passing in C++ and Java. {tests}
  3. Develop C++ code in a Unix Environment utilizing the C preprocessor, the debugger (gdb), make, source code revision systems (sccs), utilities such as those for transferring files to and from Unix and Windows. {programming assignments, tests}
  4. Demonstrate mastery of template functions and classes; understand underlying implementation of major containers in the STL. {tests}
  5. Develop object oriented models using UML {projects, tests}Unix Programming Environment: Unix tools, C preprocessor, Make, Shell, I/O redirection, debugging.

The following topics will be presented :

  1. Unix Programming Environment: Unix tools, C preprocessor, Make, Shell, I/O redirection, debugging.
  2. Pointers: Pointer manipulation, functions and function pointers, virtual functions.
  3. Basic class management: constructors, destructors, data hiding, container classes.
  4. Memory management: object creation and destruction, memory leak.
  5. Advanced C++ features: operator overloading, iteration, special containers, inheritance, code reuse, multiple inheritance, virtual functions, polymorphism, templates, template libraries.
  6. Introduction to UML and object oriented modeling: use-case models, object identification, specifying static behavior, activity diagrams, collaboration diagrams and sequence diagrams, specifying relationships: generalization/specialization, aggregation, associations including multiplicity and roles, dynamic behavior using state diagrams.

Prerequisite Prereq: CSCE 215, grade of C or better in CSCE 146

Absolute C++, 4/E by Walter Savitch, University of California, San Diego ISBN-10: 0136083811 ISBN-13: 9780136083818. Publisher: Addison-Wesley Copyright: 2010

Meeting Time(s): Meeting Time(s): MWF 2:30PM- 3:20PM
Classroom: 300M B102
Instructor: Dr. Jianjun Hu
Email: jianjunh AT
Office: 3A66 Swearinger Engineering Center
Office Hours: MW 3:30 to 5:00PM or by Appointment.

Lecture Notes/Assignments/Readings

Lecture notes, homework assignments will be available at the class website. You will be responsible for downloading them to prepare for class and homework.

Supplementary Readings Extensive reading materials will be provided each week to develop a broad understanding of research and applications of data mining.

Softwares We either develop our code for projects or use existing data mining packages. In many cases, you will be asked to find those packages using search engines such as google.


Your course grade will be based on homework assignments, a mid-term exam, and a final project. The weights given to these components is:

TestsTotal points
Lab sessions50
Project 15
Project 210
Project 315
Project 420
Exam I50
Project 530
Project 620
Project 730
Final Exam/Project50
Classroom participation20

Final score will be normalized to 100.

Grade: A (90-100%), B+ (85-90%), B (80-85%), C+ (75-80%), C (70-75%), D+ (65-70%), D (60-65%), and F (0-60%)