///

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

Close browser

 

CIS 3309-Introduction to Component-Based Software Development 

 

 

 Weekly Schedule

Spring, 2021 

(last modified December 9, 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# 2012 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.  As the course progresses, we MAY adjust this schedule.

WARNING: Any delay in starting a  lab is not a real good idea.  This is especially true of the Lab Projects, notably the game of Nim project which begins now -- the first day of classes.

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 Spring 2021 --> Search the Canvas Guides (Upper Right Corner)--> Canvas Guides
       --> Student.

 
WEEKS 1 and 2 (Mon Jan 18 - Fri
Jan 29, 2021)

    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, Jan 25, 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, Feb 1 at 11:59pm
                 
Lab Project I Requirements (Tic-Tac-Toe Project): Study and start now -- as in today.  We need to start working
                  on this project today and
asking questions tomorrow.  This First Project is due Wed Feb 10, 11:59pm.  Stage I of
                  this Project (See the Specifications for the project) is due on Thu Jan 28 at 11:59pm.

    Homework Assignment
                  HWA #1 - First Project Game: Tic-Tac-Toe - First Pass at Design [Due: A first cut is due Tue Jan 26, by class time]
                                 This includes the Form design, the Behavior Diagram, and the Class Descriptions
                  HWA #2 - On Understanding Basic Terminology  [Due: Tue, Feb 2, by class time]
                 


WEEK 3  (Mon Feb 1 - Fri Feb 5, 2021) Lab Project I (Tic-Tac-Toe Game) is Due Wed Feb
10 (Middle of Week 4)
    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
Feb 8, at 11:59pm
    Homework Assignment:
                  HWA #3 - Revised Tic-Tac-Toe Game Documentation [Due: Thu Feb 4, by class time - if needed]
 
                 HWA #4On Data Types and Terminology [Due: Tue Feb 9, by class time]
 
 

WEEK 4  (Mon Feb 8 - Fri Feb 12, 2021)  

    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 Feb 15, at 11:59pm
               
  Lab Project II Requirements (Bookstore Project): Must be studied and started now.  We need to start working on
                  this project today  as it is larger and soewhat more complex than Prohject Iand asking questions tomorrow. 
                  This Second Project is due Fri Mar 12, 11:59pm. 

   
Homework Assignment:
                  HWA #5 I: Lab Project II - Stage I Bookstore Project) First Two Forms:  Stage I Design: [Due: Thu Feb 18, by class time; code to
                 
be done by Wed Feb 24, by 11:59]    The completed, working Bookstore Project is due Thu Mar 10 (End of Week 8)
                 
HWA #7 (yes I know - it is out of order) - Questions on Independent reading on Text files/sequential 
files.  [Due: NOT ASSIGNED SPRING 2021]   

 

WEEK 5  (Mon Feb 15 - Fri Feb 19, 2021)      
    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 Third Form:  Stage II Design [Due Sat Feb 27, 1159pm]

 

WEEK 6  (Mon Feb 22 - Fri Feb 26, 2021)      
    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 Bookstore Project (or its replacement)
    Homework Assignment:
  (none - exam next week )



WEEK
7 (Mon Mar 1 - Fri Mar 5, 2021)

EXAM I --

    80 minutes (Tue Mar 2 "in-class" for written part of exam)   (Probably at your home)

    120 minutes (Wed, Mar 3rd, "in-lab" part of exam)   (Probably at your home)

 

 

Spring Break   NO SPRING BREAK FOR SPRING 2021


NOTE: Last day to drop a course is Monday April 26, 2021 (Last Day of Classes as well)

WEEK 8 (Mon Mar 8 - Fri Mar 12, 2021)  Bookstore Lab Project II is Due Thu March 10 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: Thu Apr 1 , 11:59pm at the very latest.
    Homework Assignments:
            
   HWA #6 I - (Lab Project III Requirements) Game Project Stage I Parts A and B) - Design Pass [Due:
              
Thu Mar 10 in class. Part C Items 1-3 are due should be done as soon as possible but are not to be
               turned in.
Part C Items 4-6 are due by Sun Mar 14th at 1159pm.]

 

 

WEEK 9  (Mon Mar 15 - Fri Mar 19, 2021)
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 Stage I - Design and initial Implementation work
              Due Date: Whenever your presentation is to be given
during the week of.Mar 23rd.
Homework Assignment:

                  HWA #6 II - Game Project Stage II - Final implementation due Apr 1, by class time. 

                  Due Date:   Part B (presentations) to be done as scheduled on and Mar 23-25. 

                                    Requested reports from Parts C (optional) and D (required) due on Apr 6.) 

   

 

WEEK 10  (Mon Mar 22 - Fri Mar 26, 2021)
Topics:
   Game Project Phase III - Implementation of Game Project (Lab Project III) continued

                  What does a compiler do?

    Reading: M/B Chapters 18, 19, 21
Lab:      
 Game project presentations in class Mar 23 and Mar 25 (and Mar 30th if needed).

 

 

Work on Final Project Starts Here

WEEK 11  (Mon Mar 29 - Fri Apr 2, 2021)
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 due 11:59PM, Mon May 3)

                 Stage 1 of the project (see Project Specifications) is due Mon Apr 13. 

    Homework Assignment: HWA #8 - Final Project Stage I - Documenting Key Classes (due Tue Apr 6 by class time)
Homework Assignment:
HWA #9 - Final Project Stage I - Establishing Valid Data Criteria (due Thu Apr 8 by class time )
             

 

 

WEEK 12  (Mon Apr 5  - Fri Apr 9, 2021)
Topics:
   Completion of OOP material.  

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

 

 

WEEK 13  ((Mon Apr 12 - Fri Apr 16,  2021) 
Topics:
   DB processing material 
Reading: Lecture Slides (as assigned)
Lab:        Lab Project IV (continued)
              Due Date: Mon,
Apr 26, 2021

 

WEEK 14  (Mon Apr 19 - Mon Apr 26, 2021)
Topics:   Project IV Concluded
Reading:
(none)
Lab:      
Lab Project IV (concluded)
             Due Date:
Mon Apr 26, 2021 at 11:59pm.
Homework Assignment
: (none)

 

 

FINAL EXAM: Thursday, April 29, 2021    1:00pm - 3:00pm via Zoom. 

                      (Last day of class is Monday, April 26th.  Study days are April 27 and April 28, 2021) 

 

 

 

         
         

Last Updated

Maintained by :Frank Friedman