Course Description from the University Catalog

CS 5202 - Computer Science Fundamentl II
Credits: 5.00
Advanced computing fundamentals and software engineering with emphasis on non-linear data structures and computer architecture. Students are expected to complete a medium scale project. Prerequisite(s):CS 5201 or equivalent.
Lecture: 4.00 Lab: 2.00
College: College of Arts and Sciences
Department: Computer Science
Pre-requisites: See hard copy catalog for pre-requisites.


Course Information

Course Syllabus
Course Page on the UWG CS Course Web (Moodle)

Course Summary

The course contained six units, each with a set of learning outcomes that were fulfulled through lectures, in-class work, and assignments.  Listed below is each set of learning outcome as these provide an excellent overview of the course.  All of these items were fulfilled and this made for a significant course.

Unit One: Writing Classes
  • Be able to describe the structure and content of a class.
  • Be able to create a new class or modify an existing class.
  • Be able to add data members and properties to access the data members to a class.
  • Be able to write methods within a class, including those that take parameters and return values.
  • Be able to describe the process of creating an instance of a class and the role of a constructor in creating an instance of a class.

Unit Two: Conditional and Loops
  • Be able to control the flow of control through a method using decision and looping constructs
  • Be able to write boolean expressions that can be used to make decisions
  • Be able to write single and multi-branch if/else if/else statements
  • Be able to write while, do-while, and for loops
  • Be able to explain the difference between conditional and counting loops

Unit Three: List and Collections
  • Be able to define lists for basic data organization.
  • Be able to iterate through a list of data accessing elements in the list.
  • Be able to add and modify elements in a list of data.

Unit Four: Algorithms and Testing
  • Be able to access and update specified elements in a list
  • Be able to use loops and decisions constructs to search for an element in a list
  • Be able to describe the importance of testing in developing software
  • Be able to develop test cases to thoroughly test a method given its specifications

Unit Five: Inheritance
  • Be able to describe the benefit of inheritance in the reuse of code
  • Be able to create a class the is derived from another class (create a simple class hierarchy)
  • Be able to override methods
  • Be able to describe the effect of visibility modifiers in class hierarchies

Unit Six: Project
  • This unit consisted of a C# programming project that tied together many of the concepts covered in the class since its beginning.

Course Assessment

From the syllabus:

Learning Objectives
  1. Be able to create a class that has data members, constructors, and methods that take parameters and return values.
    Bloom: 3
  2. Be able to control the flow of a program within a method using control constructs.
    Bloom: 3
  3. Be able to describe and use lists for basic data organization and manipulation.
    Bloom: 3
  4. Be able to discuss and implement simple class hierarchies.
    Bloom: 3
  5. Apply the divide-and-conquer problem solving strategy in the design of a class.
    Bloom: 3
  6. Explain basic issues related to object-oriented design, including the design and interaction of classes and methods.
    Bloom: 2
  7. Be able to document, compile, test, and debug simple programs.
    Bloom: 3

I believe these goals were effectively met throughout the course. See the class summary for more details.


Back Home