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
#4
- On 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)
|