Course Outline Comp 4952 Technical Programming 2 (cont'd

advertisement
Course Outline
School of Computing and Academic Studies
Program: Computer Systems Technology
Option: Technical Programming
Start Date:
September 6, 2011
Total Hours:
Hours/Week:
70 Total Weeks:
5 Lecture:
Comp 4952
Technical Programming 2
15
2 Lab:
3
Prerequisites
Course No.
Course Name
Comp 3951
End Date:
December 16, 2011
Term/Level:
Shop:
4
Course Credits:
Seminar:
5.5
Other:
Comp 4952 is a Prerequisite for:
Course No. Course Name
Technical Programming 1
 Course Description (required)
This course is a continuation of Comp 3951 (Technical Programming 1) and covers advanced topics in programming and an
introduction to high-performance application development and architectures. The course will use the .NET Framework and C#
as vehicles for instruction. The students will learn about the advanced features of the development environment that enable the
implementation of reliable, secure and more sophisticated applications. The course covers assemblies and AppDomains, Web
applications and ASP.NET, applications that include web services, introduction to data access, SQL, and ADO.NET. The
course will present issues of human-computer interaction, usability and aesthetics in design and will introduce the students to
Windows Presentation Foundation, Silverlight and Expression Studio as modern tools for development of desktop and web
applications.
 Detailed Course Description (optional)
Lectures: The lectures will be interactive involving the student participation and practical exercises.
Labs: During the lab time, the students will work through practical assignments and tutorials. After each student individually
develops several assignments using the techniques presented in the course, the students will design and develop a larger
project. In the second part of the course, the students will work mainly on their final project.
Participation: Each student is invited attend at least two free technical conferences/presentations/seminaries relevant to the
course material organized by BCIT, the Vancouver .Net Users Group, CIPS BCIT or Microsoft. Each student alone or in a
group of two will present a summary of what he/she learned at the event(s) he/she attended. There will be student presentations
scheduled during the lecture time. If a student cannot attend conferences, a research paper of 10 pages based on a relevant topic
should be submitted prior to the student presentations and the presentation will be based on the research paper. The course
instructor will approve the research topic.
 Evaluation
Mid-term Examination
Learning Objectives 1- 8
Programming Assignments Learning Objectives 1- 14
Term Project
Learning Objectives 15
Participation
Learning Objective 16
30
20
35
15
Comments:
TOTAL
D:\106761333.doc 03/16
100%
Format02
1
Course Outline
Comp 4952 Technical Programming 2
(cont’d.)
 Course Learning Outcomes/Competencies
Upon successful completion, the student will be able to:
1. Identify the principles of Human-Computer interaction and apply them in design.
2. Identify the principles of usability and models of usability
3. Defining the user needs
4. Design using software architecture patterns: Model-View-Control (MVC), Model-View-ViewModel (MVVM)
5. Develop Web applications using the .NET Framework Class Library, ASP.NET and ADO.NET.
6. Develop and consume a Web Service.
7. Explain distributed systems and web services.
8. Compare Web Services with other technologies (distributed computing and portals).
9. Compare and evaluate different programming environments (C++, Java, and C#) and Web development tools
(ASP.NET and JSP).
10. Explain data access and data providers (SQL and mySQL).
11. Explain the particularities of ADO.NET and create a custom ADO.NET data provider.
12. Identify the security issues related to web development.
13. Identify and apply the best practices in application development (coding with the garbage collector in mind, memory
and class management in the Common Language Runtime, server-side development, etc.)
14. Use Silverlight for developing websites.
15. Use Expression Web and Blend to develop compelling, impactful and expressive designs for the desktop and the web.
16. Design and implement a larger application that reflects the above topics: high performance, expressive design,
usability engineering, distributed computing (Web services) and data access.
17. Actively engage in group discussions regarding the newest .NET technologies.
 Verification
I verify that the content of this course outline is current.
Mirela Gutica
September 6,2011
Authoring Instructor
Date
I verify that this course outline has been reviewed.
Program Head/Chief Instructor
Date
I verify that this course outline complies with BCIT policy.
Dean/Associate Dean
Date
Note: Should changes be required to the content of this course outline, students will be given reasonable notice.
D:\106761333.doc
03/16
Format02
2
Course Outline
Comp 4952 Technical Programming 2
(cont’d.)
 Instructor(s)
Mirela Gutica
Office Location: SW2/127
Office Hrs.:
TBA
Office Phone: 604 432 8559
E-mail Address: mgutica@bcit.ca
 Learning Resources
Required:
Recommended:
Detel & Deitel (2009) Visual C# 2010 How to Program, 4/e, by Detel & Deitel (ISBN: 0132151421)
 Information for Students
(Information below can be adapted and supplemented as necessary.)
The following statements are in accordance with the BCIT Student Regulations Policy 5002. To review the full
policy, please refer to: http://www.bcit.ca/~presoff/5002.pdf.
Attendance/Illness:
In case of illness or other unavoidable cause of absence, the student must communicate as soon as possible with
his/her instructor or Program Head or Chief Instructor, indicating the reason for the absence. Prolonged illness of
three or more consecutive days must have a BCIT medical certificate sent to the department. Excessive absence
may result in failure or immediate withdrawal from the course or program.
Academic Misconduct:
Violations of academic integrity, including dishonesty in assignments, examinations, or other academic
performances are prohibited and will be handled in accordance with the ‘Violations of Standards of Conduct’
section of Policy 5002.
Attempts:
Students must successfully complete a course within a maximum of three attempts at the course. Students with two
attempts in a single course will be allowed to repeat the course only upon special written permission from the
Associate Dean. Students who have not successfully completed a course within three attempts will not be eligible to
graduate from their respective program.
Accommodation:
Any student who may require accommodation from BCIT because of a physical or mental disability should refer to
BCIT’s Policy on Accommodation for Students with Disabilities (Policy #4501), and contact BCIT’s Disability
Resource Centre (SW1-2300, 604-451-6963) at the earliest possible time. Requests for accommodation must be
made to the Disability Resource Centre, and should not be made to a course instructor or Program area.
Any student who needs special assistance in the event of a medical emergency or building evacuation (either
because of a disability or for any other reason) should also promptly inform their course instructor(s) and the
Disability Resource Centre of their personal circumstances.
D:\106761333.doc
03/16
Format02
3
Course Outline
Comp 4952 Technical Programming 2
(cont’d.)
 Assignment Details

Assignment Details
Assignments: There will be five or six short taken home assignments. Each assignment contains a practical component
(involving the implementation of a Widows or Web application) and ten to twenty long answer questions. The last two
assignments will be incorporated in the final project.
In-class assignments: Because Technical Programming option is focus on programming, the students taking this option
are supposed to learn and develop very good programming skills. The in-class assignments are programming tasks given to the
students to be solved in a specific amount of time (two or three hours). The students are informed in advance regarding the type
of the task that will be given. They can use the textbook and resources from Visual Studio.NET on-line help and Internet, but
they cannot use the course notes and they cannot discuss with each other. The in-class assignments are designed to prepare the
students for the real world where programming is done within strict time limits and to encourage the development of good
study skills and the use of documentation.
Project: Students will practice the concepts by designing and implementing a term project. The project gives the students
the opportunity to implement the program/application of their choice and to research concepts and/or details of implementation
that are not covered in lectures or labs.
Exams: There is one midterm exam in this course. The midterm exam is scheduled in the 8th week. The exam is
composed from two parts: a theoretical part and a practical part similar with an in-class assignment. The theoretical part
contains short- and long-answer questions.
D:\106761333.doc
03/16
Format02
4
Course Outline
Comp 4952 Technical Programming 2
(cont’d.)
Schedule
Week of/
Number
1
2
3
4
5
Outcome/Material Covered
Introduction to Human-Computer
interaction and interface design
Web Technologies –Server Side. Styling
Web Forms (Master Pages, CSS,
Themes and Skins)
Usability and Models of Usability;
Designing with Expression Studio
ASP.NET architecture
Defining the User Needs; Maintaining
the state; State Variables
User Controls
ASP.NET Forms and Validation;
Model-View-Control (MVC)
6, 7
8
9
Applications that consume web services
Midterm
AJAX and Silverlight (1); Model-ViewViewModel
10
Data Access using data providers (SQL
Server, mySQL, ADO.NET)
Security issues and secure applications
Silverlight (2); Usability Assessment
Web application frameworks:
DotNetNuke and SharePoint
11
12, 13
14
15
D:\106761333.doc
Project presentation
Exam
03/16
Reference/
Reading
Notes
Assignment
Due
Date
Interface Design
Project Proposal
Stage 1. Low-Fidelity
Prototype; Web
Design
Data binding and
server controls
State variables
Stage 2. MediumFidelity Horizontal/
Vertical Prototype;
Web Services
Stage 3. High-Fidelity
Horizontal/Vertical
Prototype
Database access
Project
Project
Project is due
Presentations
Project presentation
Format02
5
Download