CIT 301C - ASP.NET Programming using C#


Outcomes

Upon successful completion of this course, a student will be able to:

Description

This course leverages a student's background and experience in HTML, CSS, JavaScript, and fundamental, object-oriented programming with the Visual Studio IDE running the ASP.NET framework using the C# programming language. During the course, students will build upon a C# foundation using the ASP.NET framework to design and develop scalable, standards-based web sites, applications, and services using contemporary methodologies and established design patterns. Team work and programming deliverables will be required.

Learning Model Architecture

Students will participate in regular learning patterns within each lesson.
Students will prepare by completing the assigned readings and online activities.
Students will teach one another by participating in peer reviews of code, developer discussion boards, and working in programming teams.
Students will ponder by applying and correlating the principles to their discipline and work-based learning opportunities.
Students will prove by completing knowledge assessments and programming projects, some with well-defined functional specifications and others with less definition.

This course attempts to balance the concepts of hands-on training with professional, academic education, both of which are essential parts of lifelong learning and success in the industry.

Course Theme

King Benjamin in Mosiah 4In Mosiah 4 King Benjamin counsels us to “impart of our substance to others and do all things in wisdom and order.” At BYU-Idaho we follow a structured learning model of preparing, teaching one another, pondering, and proving. As such, our course theme is based upon Mosiah 4:15, “but ye will teach them to walk in the ways of truth and soberness; ye will teach them to love one another, and to serve one another” and Mosiah 4:27, “and see that all these things are done in wisdom and order; for it is not requisite that a man should run faster than he has strength. And again, it is expedient that he should be diligent, that thereby he might win the prize; therefore, all things must be done in order.”

Prerequisite Knowledge

In order to successfully begin and progress through this course, a student will need to have a solid foundation in programming logic and design, objected oriented principles, basic database concepts, and in the core web technologies of HTML, CSS, and JavaScript. In addition, students will need to be comfortable installing and troubleshooting software programs on their chosen platform.

Required Materials

C# Programming Yellow Book by Rob Miles: Free PDF Version

Visual Studio Community: This free, integrated development environment by Microsoft is required to complete the exercise and project assignments. Student systems must be capable of meeting the minimum system requirements. In summary, Visual Studio is an integrated development environment (IDE) for creating applications for Windows, Android, and iOS, and for building contemporary web applications and cloud services. ASP.NET is the free web framework for developing web sites, mobile sites, web APIs, and web applications using a foundation of core technologies of HTML, CSS, and JavaScript.

ASP.NET activities in the course will require the ASP.NET 5 Release Candidate 1 update - information | download

SQL Server Compact Edition is required later in the course - information and download

OS X users will need to install and run Visual Studio Community in Windows using Boot Camp, VirtualBox, VMware Fusion, or Parallels Desktop installation on your Mac. Microsoft Windows is free through the department provided Microsoft On The Hub student account.

Grading Policies

This course assesses student learning and content literacy in five major areas: professionalism, concept fluency, application, team projects, and teaching/learning. Throughout the course students will be able to track their progress using the Grades tool, which will provide an estimate of their current letter grade. Individual assignment grading rubrics are included in the assignment instructions and feedback will be given by the instructor through the Grades tool or via email. Students may email the instructor to question individual assignment grades and seek additional feedback. Final letter grades are given at the end of the course based upon the following assessment weighting. The letter grade based on total percentage distribution follows the assessment descriptions.

Grading Distribution
Assessment Description of Assignments and Activities Weight
Professionalism Lab attendance, Developer Forum contributions, and instructor interaction 20%
Concept Fluency Quizzes and instructor interviews 20%
Application Exercises Development exercises and peer reviews to well-defined projects 20%
Team Projects Programming exercises and larger, ill-defined projects. 30%
Teaching Journal Teaching reports and self-assessment activities. 10%

Professionalism (20%)

Virtual Lab Attendance and Reflections

The live, virtual lab class is an opportunity for students to interact with their peers and with the instructor to discuss lesson concepts and related, contemporary topics in the field. The lesson's content will be the catalyst for this recorded conversation. Attendance and a report of reflection is required for each virtual lab class that is held. Given that some students will not be able to meet at the designated time, the class will be recorded. Students may elect to attend this required virtual lab live or watch the recording. A keyword will be given during the class for reporting purposes and students will submit some reflective thought(s) about the conversation.

Points Assessment Criteria (n=13)
0–4 These weekly reflections are graded as a quiz requiring occasional review of the reflective answers to assess accurate participation by the student.
Student reports participation with correct keyword: 2 points
Reflection was on point and referenced relevant discussion points made during the virtual lab: 2 points

Developer Forum Participation

Each lesson provides an opportunity for students to asynchronously post questions and answers to a discussion board about lesson concepts and activities . Participation is required and supported by the instructor.

Points Assessment Criteria (n=13)
3 Original post or reply was on topic, original, relevant and contributed to the quality of the discussion. Responses are clearly written and use supportive, positive language. The appropriate number of postings has been made.
2 Generally a reduction of one point is based upon the quality of the original posts or reply. The response is still well-written and supportive but may lack relevant substance or did not add to the quality of the discussion.
1 Original posts and replies are on topic, but lack originality and/or lack a significant contribution to the quality and required quantity of the discussion. Or the student shows a weekly pattern of posting and replying in one session near the due date.
0 No successful posting was made or the posting was completely off topic and/or not original.

Instructor Interaction

The instructor will evaluate student interactions and professionalism throughout the course from postings, emails, conversations, and participation. The concept is that the instructor has a development manager role in the course and as part of the student performance evaluation, he/she will assess a student's professional soft skills in areas such as listening, adaptability, teamwork, attitude, work ethic, professional reasoning, and ego management.

Points Assessment Criteria (n=3)
0–10 Professional soft skills based upon the above-named interactions will include listening, adaptability, teamwork, attitude, work ethic, professional reasoning, and ego management. A student will receive an evaluation during Lesson 5, Lesson 10, and at the end of the course.

Concept Fluency (20%)

Quizzes

The purpose of quizzes is to assess student comprehension and fluency with the assigned subject matter presented in the required readings and materials. The quiz is open text and Internet; however, the quiz is timed for a balanced assessment where students know the concept and just need to quickly review some details to answer the question properly.

Points Assessment Criteria (n=9)
8–15 The system will automatically assign points for each question. The quizzes are timed but are open non-human resource. The instructor will review quiz solutions and grading for accuracy as needed.

Instructor Interviews

The instructor will conduct two (2) one-on-one interviews with each student during the course. The purpose of these interviews is to get to know each student at a conversational level and assess concept fluency. This will not be a quiz of knowledge but rather a conversation about current activity and concepts from the course. These interviews will also be an opportunity to demonstrate professionalism and provide feedback.

Points Assessment Criteria (n=2)
0–50 The instructor will assess the student's activity in the course as it relates to the exercises and projects looking for understanding and correct thought on application and relationship. The interview will include questions and discussion about extra-curricular discover and activity.

Application Exercises (20%)

Programming Activities

These development exercises are learning activities where students are given well-defined programming problems. Typically these exercises will be completed on an individual basis; however, peer review and participation in the Developer Forum will be complementary, assessed elements of these activities.

Points Assessment Criteria (n=8)
13–20 Exercise is complete and meets most to all of the requirements in terms of functional specifications and program operation. Reductions from full credit are based upon missing components, logic errors, presentation faults, and/or grammar.
6–12 The submitted solution runs but does not produce required output; there are major logic and run-time errors of "complete" exercises and required components are missing.
1–5 The submitted solution does not run; submission consists of only design documents, text, basic, template structures with minor student development.
0 No submission

Focused Discussions

The purpose of these focused discussions is to provide opportunities for students to collaborate, teach, and relate the content of the course to the real world. One type of focused discussion is the peer review where students ponder application solutions to the assigned exercises and receive a formalized review of design documents and ideas. Other discussions are based upon contemporary development approaches and industry trends.

Points Assessment Criteria (n=3)
7–10 Participation includes required number of posts and reviews; the content is constructive and applicable to the discussion; the submitted posts and reviews use proper grammar and spelling.
3–6 Lack of required posts and reviews; the content does not contribute to the specific post in question; the content has obvious grammar and spelling errors or the student made the initial post and peer review or reply within the half day period.
1–2 Student reviewed the board as evidenced by the review time recorded but did not participate.
0 No participation nor was any significant review time recorded.

Team Projects (30%)

Students will be paired to another student in the class in order to complete more involved applications. Teams will collaborate and work together to create one solution to submit for final evaluation for each assigned project.

Mega Escritorio Console Application
Max Points Assessment Criteria
20 The application conforms to functional and developmental specifications.
10 The code is well-written, organized, easy to track, and can be reused.
30
Mega Escritorio Desktop Application
Max Points Assessment Criteria
20 The application conforms to functional and development specifications.
5 The code is well-written, organized, easy to track, and can be reused.
5 Contemporary UI and UX features and principles are followed in terms of proximity, alignment, repetition, contrast, and typography.
30
Mega Escritorio Web Pages with Razor
Max Points Assessment Criteria
20 The application conforms to functional specifications and purpose as proposed.
5 The code is well-written, organized, easy to track, and can be reused.
5 Contemporary UI and UX features and principles are followed in terms of proximity, alignment, repetition, contrast, and typography.
30
ASP.NET MVC Project
Max Points Assessment Criteria
10 Proposal: The proposal from Lesson 10 was submitted on time and was well-written, clearly explaining the purpose of the application.
50 Specifications: The application conforms to functional specifications and purpose as proposed.
10 Readability and Reusability: The code is well-written, organized, easy to track, and can be reused.
15 Design: Contemporary UI and UX features and principles are followed in terms of proximity, alignment, repetition, contrast, and typography.
15 Presentation: professional and proper coverage of functionality and features
100

Teaching Journal (10%)

The purpose of teaching outside of the class and reflecting upon that teaching is based upon the principle of learning and retention by teaching. Students will briefly teach concepts and principles from the lesson to an individual or small group and report on questions or insights that have arisen by taking this opportunity which often happens naturally as students apply what they are learning to the world around them.

Points Assessment Criteria
1–3 Included information such as the audience, what principles or concepts were taught, and reflection on learning and teaching.
0 No teaching reflection submitted.

Final Letter Grade Distribution

Letter Grade Distribution
Letter Grade Total % Floor
A 93%
A- 90%
B+ 87%
B 83%
B- 80%
C+ 77%
C 73%
C- 70%
D+ 67%
D 60%
F 0%

Disclaimers | Procedures | Policies

Learning and Paired Programming

The best way to learn is through experience and the second-best way to learn is to teach. A critical element of the BYU-Idaho Learning Model is to teach and learn from one another and that skill set is translated directly into the industry/work force. Developer collaboration using online tools and social media is an essential element of student development as a professional. During this course, students will be paired with a team member or members where consistent communication will be required. Each programming assignment has specific instructions on whether the project will be completed individually or as an assigned team. Regardless, the lesson's Q&A board will be used for teaching, reflection, and peer reviews.

Late Work

Late work will not be accepted unless a student has extenuating circumstances such as a hampering illness. Chronic situations will be assessed on an individual basis. Please contact the instructor via email as soon as possible before a deliverable is due. Students are responsible to seek means to get caught up in work that are not outside the scope of the learning management system. In addition, students will need to be very conscientious towards fellow team members in this class as to not exact an unnecessary burden upon them.

The instructor reserves the right to change any part of this syllabus at any time during the semester in order to adapt to changing course needs. Students will be notified prior to any changes that may take place.