http://ww2.cis.temple.edu/friedman/cis3309/temple_button.gif

Close browser

 

CIS 3309-Introduction to Component-Based Software Development 

 

 

 Weekly Schedule

Fall, 2020 

(last modified June 7, 2020)

 

 

 

Home

External Links
Course Syllabus         Course Guidelines       Homework Assignments                 Labs                 Lecture Notes                  Other Resources   
  

  Weekly Schedule 

This is a tentative outline of the course schedule week-by-week. You are expected to have read the material described prior to attending the class.   Due dates usually will be firmed-up at the start of each week.  Actual Labs and Projects not yet finalized.  M/B refers to the Murach C# 2015 text

NOTE 1 -The lab projects may all be accessed by clicking on the appropriate link (such as Lab Project #n).  The labs are up but are subject to change.  If you wish to start a lab before we get to it, please notify the lab assistant or me so we can let you know whether changes are in the offing.

NOTE 2 - The assignments may be accessed by clicking on the highlighted HWA #n symbol for the assignment. 

NOTE 3 - This is a rough schedule of dates.  While I prefer to stick with this schedule, I am aware that time has a habit of slipping away from us -- especially since we always lose the early Monday for the semester.  As the course progresses, we MAY adjust this schedule.

WARNING: Delaying the start of your work on an assigned lab is not a real good idea.  This is especially true of the Lab Projects, notably the Nim project which begins now -- the first day of classes.

IMPORTANT ASSUMPTIONS:  This calendar assumes an August 24, 2020 start to the semester and a December 7, 2020 last day.  It also assumes students will not reurn to campus once the Thanksgiving break starts on Sunday, November 22, 2020.  (All subsequent activities will therefore be held on-line).  At the moment, I am planning to hold this course entirely online.  Should anything change, you will be the first to know.

Lab Project Tips and Comments (by Joe Jupin)

Use meaningful object names

Use a consistent naming framework for your labs.  The Hungarian naming convention is preferred.  These prefixes will make it easier for you to code the objects that have been placed on your GUI from the code window.  Examples of good object names are:

 

txtFirstName for a textbox that contains someone's first name

 

lblAddress for a street address

 

btnCalculate for a button that performs a calculation

 

grpPersonalInfo for a group of objects in a group box

 

When programming objects in code view, it is easier to understand what to do with objects with names that provide information about what the object does.  Otherwise, you may spend too much time switching between design and code view.

 

Finally -- the lab assistant will review with you exactly how to submit your Lab Assignments and Projects using the Assignment feature in Canvas, but you should try this on your own as well.

      *   Be sure you have saved your program first (Use Save All)!  Then be sure to zip the directory containing your .sln
       and related files.

        *   Label your .zip file in a consistent manner or you will drive the lab assistant and me nuts.  Please follow these directions when
       submitting your labs (if not before).

                   Name your program for example as
             Lab01 – Murach, Ex 1-3 Ver 1 FriedmanF

        *   Instructions as to navigating around Canvas and figuring out how to do things may be found in the Canvas Guide for Students 
       (see the link to Assignments) which you can also access when logged on to Canvas as a student. 
(You can navigate to this Guide
       from the Canvas Main Page for CIS3309.001 Fall 2020 --> Search the Canvas Guides (Upper Right Corner)--> Canvas Guides
       --> Student.

 
WEEKS 1 and 2 (Mon Aug 24 - Fri Sep 4, 2020)

    Topics:
   An Introduction to the Visual Studio IDE, C#.NET 2015, Compilers, Solutions, Projects.   
                  IDE components. Forms designer, code editor. Creating/testing a project.  Console application.  
                  Assemblies.  Introduction to Windows forms applications and tools.  Solution explorer. Namespaces, 
                  references.  Controls and control properties.  Coding.  Code behind. 
    Reading:
Murach C# 2015 (The fat blue book) Chapters 1, 2, and 3, and Chapter 11 (pp. 322-334) and Chapter 12 (pp, 354-374)
                  Lecture Sets 1A-D, 2A-C, 3A-E, 11A-C
                  Must and Immediate Reading I: Course Syllabus and Guidelines (elsewhere on this web site - look up top)
                  Must and Immediate Reading II: Canvas First Lab Information

                  Must and Immediate Reading III:
Document on Using Microsoft Visual Studio 2017 with C Sharp (by Wilson Diaz)
                  Must and Immediate Reading IV: Document on How to Install Visual Studio 2017 (By Bianca Tuliao)
    Lab:        Lab Assignment # 1 (Exercises
covering Chapters 1, 2, and 3 of the text -- mostly to be done in lab)
                  Due Date Lab:
Mon, Aug 30, at 11:59pm (all labs submitted electronically - you will probably finish this in Lab)
                  Lab Assignment # 2  (Exercises covering Chapters 4 and 5)
                  Due Date Lab
: Mon, Sep 7 at 11:59pm
                 
Lab Project I Requirements (Game of Nim Project): Must be studied and started now.  We need to start working
                  on this project today and
asking questions tomorrow.  This First Project is due Mon Sep 21, 11:59pm. 
    Homework Assignment
                  HWA #1 - First Project Game: The Game of Nim - First Pass at Design [Due: A first cut is due Tue Sep 1, in class]
                                 This includes the Form design, the Behavior Diagram, and the Class Descriptions
                  HWA #2 - On Understanding Basic Terminology  [Due: Tue, Sep 1 in class]
                 


WEEK 3  (Mon Sep 7 - Fri Sep 11, 2020)
    Topics:
   More on code behind, declarations, types and objects.  Reference & value variables. Numeric data, 
                  strings & dates. Type conversion, intrinsic functions. 

    Reading:
M/B Chapters 1-3 (reviews) 4, 5 & 9 and first two sections of Chapter 11
                  Lecture Sets 4A-D; 5A-D; 6A-B

    Lab:        Lab Assignment # 3 (Exercises covering Chapters 6 and 7)
                  Due Date Lab: Mon
Sep 14th, at 11:59pm
    Homework Assignment:
                  HWA #3 - Revised Game of Nim Documentation [Due: Tue Sep 8, in class - if needed.  ASK if unsure.]
 
                 HWA #4On Data Types and Terminology [Due: Thu Sep 10, in class]
 
 

WEEK 4  (Mon Sep 14 - Fri Sep 18, 2020)  Lab Project I (Game of NIM is Due Monday
Sep 22 (Start of Week 5)
    Topics:
    Methods and their arguments and return values. Call by reference & value.  Working with events. 
                  Event handlers. Structured exception handling & data validation.  Files as abstractions.
    Reading:
M/B Chapters 6 & 7
                  Lecture Sets 7A-B; 8A-C;

    Lab:       
Lab Assignment # 4 (Exercises covering Chapters 8 and 9, slightly modified)
                  Due Date Lab:
Mon Sep 21, at 11:59pm
               
  Lab Project II Requirements (ATM Project): Must be studied and started now.  We need to start working on
                  this project today and asking questions tomorrow.  This Second Project is due Thursday Oct 15, 11:59pm.

   
Homework Assignment:
                  HWA #5 I: Lab Project II - Stage I (ATM Project) First Two Forms:  Stage I Design: [Due: Thurs Sep 24; code  to be done by  Oct 1]
                                The completed, working ATM Project is due Thu Oct 15
(Week 8)
                 
HWA #7 (yes I know - it is out of order) - Questions on Independent reading on Text files/sequential 
files.  [Due: NOT ASSIGNED FALL 2020]   

 

WEEK 5  (Mon Sep 21 - Fri Sep 25, 2020)      
    Topics:
   Collections of data - array and collection classes, lists, sorted lists: storing and retrieving data.  More on strings; working  with
                  dates and times
.  More on the basic  controls.
    Reading:
M/B Chapters 8 & 9
                  Lecture Sets 9A-B; 10A-B;

    Lab:       
Continue work on Lab Project I             
    Homework Assignment:
                  HW #5 II: Lab Project II - Stage II (ATM Project) Third Form:  Stage II Design [Due Sat Eve Oct 10th 1159pm]

 

WEEK 6  (Mon Sep 28 - Fri Oct 2, 2020)      
    Topics:
    Principles of object-oriented design and implementation.  Classes.  Behavior diagrams and class diagrams.
                  MVC, GRASP, SOLID, with an overriding focus on weak coupling and high cohesion of software components
                  and on encapsulation (limiting the need to know, data protection)

    Reading:
M/B Chapter 12
                 
Documents and slides (to be provided) on MVC, GRASP, and SOLID
    Lab:       
No new lab assignment.  Continued work on the ATM Project (or its replacement)
    Homework Assignment:
  (none - exam next week )



WEEK
7 (Mon Oct 5 - Fri Oct 9, 2020)

EXAM I --

    80 minutes (Tue Oct 8 in class for written part of exam)   (Probably in a larger room, TBA)

    120 minutes (Wed, Oct 9, in lab part of exam)   (in SERC 204 (the usual lab)

 

NOTE: If class is held online, the exams will be online  and the format and guidelines for taking the exam will

have to be given to you ahead of time.

    

 

WEEK 8 (Mon Oct 12 - Fri Oct 16, 2020)  ATM Simulation Lab Project II is Due Thursday Oct 15, 2020 1159PM
 
   Topics: Component-Based Software Design.  UML modeling.  Introduction to GRASP, SOLID and one group
               
project software product.    
  
 Reading: Chapter 12 (read over lightly the material on structures)  Other reading material may be assigned.
 
   Lab:     Lab Project III - Game Project Design Phase I -- Group Work - no formal lab assignment.      
           
   (see Homework Assignment #6 I, below)  DUE: Monday, Nov 2, 11:59pm at the very latest.
    Homework Assignments:
            
   HWA #6 I - (Lab Project III Requirements) Game Project Phase I - Design Pass I [Due: Parts A and B are
                                due on Sun noon Oct 11.  Note that Items C (1-3) are due by Sat Oct 17 11:59pm and C (4-6) are
                                due Tues
Oct 22 (by 11:59pm).

 

 

WEEK 9  (Mon Oct 19 - Fri Oct 23, 2020)
Topics:
   Software design using classes - examples and Game Project Design Presentations.       

                  GRASP, SOLID Game Example.   Graphics class.  Drawing, painting. (if not done earlier)
Reading: M/B Chapters 11 (second reading);  Lectures in Class 
              Lecture Set 11 (second reading)
, 12A,B, 13A
Lab:        Lab Project
III - Game Project Phase II - Implementation work
              Due Date: Whenever your presentation is to be given
during the week of.Nov 5.
Homework Assignment:

                  HWA #6 II - Game Project Phase II - Final Products: Documentation (Part A) IF REQUIRED for particular

                                    teams (I will let you know) is due on Thu Oct 29. 

                  Due Date:  Part A (if required, due Oct 29).  Part B (presentations) to be done
                              as scheduled on
Oct 27 and Oct 29.  Requested reports from Parts C. and D. due on Thu Nov 5.)

   

 

WEEK 10  (Mon Oct 26 - Fri Oct 30, 2020)
Topics:
   Game Project Phase III - Implementation of Game Project (Lab Project III) continued
Reading: M/B Chapters 18, 19, 21
Lab:      
Work on game project presentations.

 

 

 

Work on Final Project Starts Here

WEEK 11  (Mon Nov 2 - Fri Nov 6, 2020)   Game Project Simulation Lab Project III is Due Mon Nov 2nd, 2020 1159PM
Topics:
   Object-Oriented Programming - class hierarchies; Inheritance, polymorphism, static and 

                  dynamic binding. Overloading, overriding, and other issues related to inheritance 
Reading: Lecture Sets on OOP and class hierarchies etc: Appendix E in Lecture Notes

                          and examples illustrated in Appendix E Parts A - C

    Lab:  Lab Project IV: Final Project Specifications --

             Project Stage I  due 11:59PM, Saturday Nov 21st  11:59 PM

             Project Stage II due 11:59PM, Saturday Dec 12th  11:59PM

    Homework Assignment: HWA #8 - Final Project Stage 1 - Documenting Key Classes (due Tue Nov 10 in class)
Homework Assignment:
HWA #9 - Final Project Stage 2 - Establishing Valid Data Criteria (due Thurs Nov 12 in class)
             

 

 

WEEK 12  (Mon Nov 9  - Fri Nov 13, 2020)
Topics:
   Completion of OOP material.  

                  Start on database processing in C# .NET (Windows Project)  May be delayed until after Thanksgiving Break
Reading: Lecture Slides (as assigned -- ask in class)             
Lab:       
Final Project (continued)
Homework Assignment:
HWA #10 - Final Project Stage 3 - Database Test Commands (ask in class if it will be assigned)

 

 


WEEK 13  ((Mon Nov 16 - Fri Nov 20, 2020) 
Topics:
   DB processing material 
Reading: Lecture Slides (as assigned)
Lab:        Lab Project IV (continued)
              Due Date: Monday,
Dec 10, 2018


 WEEK OFF (Mon Nov 23 - Fri Nov 27, 2020)

Thanksgiving Week