
CST8333
Programming Language Research Project
Course Outline
2022-2023
- Pre-requisite(s)
- CST8284
- Co-requisite(s)
- N/A
- Prepared by
- Stanley Pieda
- Approved by
- Sandra Brancatelli, M.Eng., P.Eng., Academic Chair, ICT-Applications & Programming
- Approval date
- Tuesday, May 31, 2022
- Normative hours
- 56.00
- Grading system
- A+ Through F
Applicable Program(s) | Level | Core/Elective |
---|---|---|
0336X01FWO - Computer Programming | 4 | Core |
0336X03FWO - Computer Programming | 4 | Core |
0336X07PAO - Computer Programming | 4 | Core |
0336X09FAO - Computer Programming | 4 | Core |
1561X01FWO - Computer Programming and Analysis | 4 | Core |
1561X03FWO - Computer Programming and Analysis | 4 | Core |
Course Description
Learning a new programming language or framework on your own is a challenge faced by programmers on the job as part of their career. Students explore this process of self-study by applying project planning, applied research, testing, and implementation of basic and advanced concepts appropriate to the language or framework under study. Students develop major milestones and deliverables culminating in a project and reflective summary submission.
Vocational Learning Outcomes
This course provides the opportunity for you to achieve the following outcomes:
0336X01FWO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (CP) |
---|---|
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (A) |
VLO 6 | Select and apply strategies for personal and professional development to enhance work performance (CP) |
VLO 7 | Apply project management principles and tools when working on projects within a computing environment (CP) |
VLO 8 | Adhere to ethical, legal, and regulatory requirements and/or principles in the development and management of computing solutions and systems. (CP) |
0336X03FWO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (CP) |
---|---|
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (A) |
VLO 6 | Select and apply strategies for personal and professional development to enhance work performance (CP) |
VLO 7 | Apply project management principles and tools when working on projects within a computing environment (CP) |
VLO 8 | Adhere to ethical, legal, and regulatory requirements and/or principles in the development and management of computing solutions and systems. (CP) |
0336X07PAO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (CP) |
---|---|
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (A) |
VLO 6 | Select and apply strategies for personal and professional development to enhance work performance (CP) |
VLO 7 | Apply project management principles and tools when working on projects within a computing environment (CP) |
VLO 8 | Adhere to ethical, legal, and regulatory requirements and/or principles in the development and management of computing solutions and systems. (CP) |
0336X09FAO - Computer Programming
VLO 1 | Identify, analyze, develop, implement, verify and document the requirements for a computing environment. (CP) |
---|---|
VLO 4 | Implement robust computing system solutions through validation testing that aligns with industry best practices. (A) |
VLO 6 | Select and apply strategies for personal and professional development to enhance work performance (CP) |
VLO 7 | Apply project management principles and tools when working on projects within a computing environment (CP) |
VLO 8 | Adhere to ethical, legal, and regulatory requirements and/or principles in the development and management of computing solutions and systems. (CP) |
1561X01FWO - Computer Programming and Analysis
1561X03FWO - Computer Programming and Analysis
Essential Employability Skills
This course contributes to your program by helping you achieve the following Essential Employability Skills:
EES 1 | Communicate clearly, concisely and correctly in the written, spoken and visual form that fulfills the purpose and meets the needs of the audience. (A, CP) |
---|---|
EES 2 | Respond to written, spoken or visual messages in a manner that ensures effective communication. (A, CP) |
EES 4 | Apply a systematic approach to solve problems. (A, CP) |
EES 5 | Use a variety of thinking skills to anticipate and solve problems. (A, CP) |
EES 6 | Locate, select, organize and document information using appropriate technology and information systems. (A, CP) |
EES 7 | Analyze, evaluate and apply relevant information from a variety of sources. (A, CP) |
EES 10 | Manage the use of time and other resources to complete projects. (A, CP) |
EES 11 | Take responsibility for one's own actions, decisions and consequences. (A, CP) |
Course Learning Outcomes / Elements of Performance
When you have earned credit for this course, you will have demonstrated the ability to:
1. Investigate programming languages (not already studied in program), selecting one to study via research and application, in fulfilling project requirements.
- Communicate professionally and on a regular basis with professor
- Conduct research into interesting and current programming languages, technologies, and techniques which could increase marketability upon graduation
- Determine feasibility of development environment - availability of platform, compiler, Integrated Development Environment and / or related tools and libraries
- Review and comply with software licensing agreements
- Locate, identify and utilize learning resources related to programming language under study
- Identify goals associated with language choice
- Document resources using IEEE reference style
2. Use project management principles and software to estimate time for tasks and decompose a project into tasks.
- Use a Work Breakdown Structure (WBS) to break proposed project into manageable tasks.
- Estimate time needed for tasks
- Use Gantt charts to document tasks, sub-tasks, sequential tasks, task durations, and milestones.
3. Create a software prototype as proof of concept using iterative delivery.
- Build early prototypes to test concepts
- Build prototypes to test high risk elements
- Build and continually develop a project prototype over the span of the course
4. Construct secure, tested and documented program code.
- Create program code to show knowledge of new programming language, meeting the specified requirements.
- Use a layered architecture (N-layered), or an architectural design pattern like Model View Controller, either option built using the default API, or via a framework.
- Provide proof of concept of unit testing, using framework-based unit tests, falling back to basic unit testing based on the default API only if no unit-testing framework is available and the absence of framework-based unit testing is proven via research.
- Document program source code using documentation comments as appropriate for the programming language studied.
- Create documentation that details programming language concepts used with code examples, screen shots of program execution to demonstrate functional requirements, screen shots of executing unit testing as proof of concept for testing, as well as learning resources, research, and software library licensing.
5. Manage time and resources to complete planned project on time and according to goals.
- Manage time though the use of project management software.
- Reflect on the process of learning a new programming language, and how unknowns (high-risk items) affect time management and project planning.
- Defend choices in how they affected project development and the learning process.
- Recognize personal limits and seek assistance in a timely manner to resolve problems
- Take responsibility for one’s own actions, decisions and consequences
Learning Resources
- NONE
- Microsoft Project 2019 Step by Step (May 25 2019) by Cindy Lewis, Carl Chatfield, Timothy Johnson. Microsoft Press; 1st edition, ISBN-10: 1509307427, ISBN-13: 978-1509307425
NOTE: This book is available free, digitally, on Safari, via the School Library Website.
This course is part of the mobile (laptop) program initiative at Algonquin College.
Students are required to have a functioning laptop at all lecture and lab classes.
The specifications for the required laptop and additional information about the mobile
program initiative can be found at http://www3.algonquincollege.com/mlearning/
Required Software
- Software development tools, such as an IDE and a compiler.
- Part of the course is to figure out which ones to use, depending on the programming language you endevor to learn paying attention to licensing requirements.
- Project Management Software, either:
- Microsoft project 2019 or newer, available through Azure Dev Tools for Teaching: https://aka.ms/devtoolsforteaching
(Use Software Sub-menu and search for "Microsoft Project") - ProjectLibre Community Edition, available for free from: http://www.projectlibre.com/
- Microsoft project 2019 or newer, available through Azure Dev Tools for Teaching: https://aka.ms/devtoolsforteaching
- Safari Books, access is available for free via the college library website
- http://algonquincollege.libguides.com/az.php?a=s
- LinkedIn Learning (formally Lynda.com), access is available for free via the college library website
- http://algonquincollege.libguides.com/az.php?a=l
- Other web based research materials
Learning Activities
On-line interactivity
Independent Study
Research Assignment(s)
Assignment(s)
Discussion Forum(s)
Journal/Reflective Assignment(s)
Pre-defined Evaluation / Earning Credit
The following list provides evidence of this course's learning achievements and the outcomes they validate:
Research Assignment(s) (20%)
Validates Outcomes: CLO 1, CLO 2, CLO 5, EES 1, EES 2, EES 4, EES 5, EES 6, EES 7, EES 10, EES 11
Practical Assessment (s) (40%)
Validates Outcomes: CLO 1, CLO 3, CLO 4, CLO 5, EES 1, EES 4, EES 5, EES 7, EES 10, EES 11
Discussion Forum (20%)
Validates Outcomes: CLO 1, CLO 2, CLO 5, EES 1, EES 2, EES 6, EES 10, EES 11
Journal/Reflective Assignment(s) (20%)
Validates Outcomes: CLO 1, CLO 2, CLO 5, EES 1, EES 6, EES 7, EES 10, EES 11
Prior Learning Assessment and Recognition
Students who wish to apply for Prior Learning Assessment and Recognition (PLAR) need to demonstrate competency at a post-secondary level in all outlined course learning outcomes. Evidence of learning achievement for PLAR candidates includes:
- Not Applicable: This course assesses multiple Vocational Learning Outcomes at a Culminating Performance level.
Other Information
Grade Scheme
Final Grade | Mark Equivalent | Numeric Value | Final Grade | Mark Equivalent | Numeric Value |
A+ | 90% - 100% | 4.0 | A | 85% - 89% | 3.8 |
A- | 80% - 84% | 3.6 | B+ | 77% - 79% | 3.3 |
B | 73% - 76% | 3.0 | B- | 70% - 72% | 2.7 |
C+ | 67% - 69% | 2.3 | C | 63% - 66% | 2.0 |
C- | 60% - 62% | 1.7 | D+ | 57% - 59% | 1.4 |
D | 53% - 56% | 1.2 | D- | 50% - 52% | 1.0 |
F | 0% - 49% | 0 | FSP | 0 | 0 |
Course Related Information
In order to pass the course, the student must have a grade of at least 50% on both the theory component as well as in the practical component. i.e. Even if your combined grade exceeds 50% for the entire course, if you fail either the theory component or the practical component you will not achieve a passing grade in the course.
For this course, the practical component consists of Practical Assessment(s) in the form of the Practical Projects. The rest of the assessments are part of the theory component for the course.
Program Information
Department Information
STUDENT ACADEMIC RESPONSIBILITIES
Each student is responsible for:
• Knowing the due dates for marked out-of-class assignments.
• Attending all classes and knowing the dates of in-class marked assignments and exercises.
• Maintaining a folder of all work done in the course during the semester for validation claims in cases of disagreement with faculty.
• Keeping both paper and electronic copies of all assignments, marked and unmarked, in case papers are lost or go missing.
• Regularly checking both Brightspace announcements as well as one's Algonquin e-mail account for important messages from both professors and college administration.
• Participating in on-line and classroom exercises and activities as required.
• Retaining course outlines for possible future use to support applications for transfer of credit to other educational institutions.
Department Grading Policy - For all courses that have both a theory and practical (lab) component, students must have a grade of at least 50% (or “D-”) on both the theory component as well as in the practical (i.e. lab) component in order to achieve a passing grade in the course. i.e. Even if your combined grade exceeds 50% for the entire course, if you fail either the theory component or the practical component, you will not achieve a passing grade in the course.
Lab/Practical Assessment Demonstration "Demo" Requirements - Certain courses require students to demo their work after it has been submitted. These will be scheduled by the professor and involve 1-2 rudimentary questions to assure the professor that the work submitted by the student is their own. Demos are not graded items - the work submitted is graded. However, where demos are required, if a student does not demo their work, the work will not be graded (i.e. grade of 0 on the lab or practical assessment).
Department Academic Dishonesty Policy - Academic Integrity is very important to all of our faculty and administrative staff and as such, measures have been put into place to detect all forms of academic dishonesty, including plagiarism of code. If plagiarism is detected by a professor, the incident will be reported and investigated. If the findings of the investigation are that a student has submitted plagiarized work as their own, they will be subject to the following policy:
- The first offence will result in the plagiarized assessment being assigned a grade of 0.
- The second offence will result in the assignment of a grade of F for the course.
- The third offence will result in removal of a student from the program of study.
Harassment/Discrimination/Violence will not be tolerated. Any form of harassment (sexual, racial, gender or disability-related), discrimination (direct or indirect), or violence, whether involving a professor and a student or amongst students, will not be tolerated on the college premises. Action taken will start with a formal warning and proceed to the full disciplinary actions as outlined in Algonquin College Policies - HR22 and SA07.
Harassment means one or a series of vexatious comment(s) (whether done verbally or through electronic means), or conduct related to one or more of the prohibited grounds that is known or ought reasonably to be known to be unwelcome/unwanted, offensive, intimidating, derogatory or hostile. This may include, but is not limited to: gestures, remarks, jokes, taunting, innuendo, display of offensive materials, offensive graffiti, threats, verbal or physical assault, stalking, slurs, shunning or exclusion related to the prohibited grounds.
For further information, a copy of the official policy statement can be obtained from the Student Association.
Violation of the Copyright Act
General – The Copyright Act makes it an offence to reproduce or distribute, in whatever format, any part of a publication without the prior written permission of the publisher. For complete details, see the Government of Canada website at http://laws.justice.gc.ca/en/C-42 . Make sure you give it due consideration, before deciding not to purchase a textbook or material required for your course.
Software Piracy - The Copyright Act has been updated to include software products. Be sure to carefully read the licensing agreement of any product you purchase or download, and understand the terms and conditions covering its use, installation and distribution (where applicable). Any infringement of licensing agreement makes you liable under the law.
Disruptive Behaviour is any conduct, or threatened conduct, that is disruptive to the learning process or that interferes with the well being of other members of the College community. It will not be tolerated. Members of the College community, both students and staff, have the right to learn and work in a secure and productive environment. The College will make every effort to protect that right. Incidents of disruptive behaviour must be reported in writing to the departmental Chair as quickly as possible. The Chair will hold a hearing to review available information and determine any sanctions that will be imposed. Disciplinary hearings can result in penalties ranging from a written warning to expulsion.
For further details, consult the Algonquin College Policies AA32, SA07 and IT01 in your Instaguide.
College Related Information
Students are especially encouraged to be aware of the following College expectations
Academic Integrity
Algonquin College is committed to the highest standards of academic integrity, and students are expected to uphold these standards as part of the learning process. Any academic work submitted by a student is expected to be their own work, unless designated otherwise and all sources must be attributed. All students should be familiar with the Algonquin College policy AA48: Academic Integrity which outlines student’s roles and responsibilities and what represents academic dishonesty. In some courses, online proctoring may be used to prevent academic dishonesty. Additional information can be found at Academic Integrity - Student Survival Guide - Subject Guides at Algonquin College (libguides.com) and via Academic Integrity Student Resources. Students with any questions about the course expectations regarding academic integrity are encouraged to speak to their professor and the College’s academic integrity team at acaio@algonquincollege.com
Centre for Accessible Learning
Students with visible and/or non-visible disabilities are encouraged to register with the Centre for Accessible Learning (CAL) in order to be eligible for appropriate learning supports and/or accommodations. Students are strongly encouraged to make an appointment with the Centre for Accessible Learning as early as possible when starting a program. Once your needs are identified, a Letter of Accommodation (LOA) will be issued which you can share with your professors. If you are a returning student, please ensure that professors are given a copy of your LOA each semester.
College Email
Students at Algonquin College are provided with a college email account. This is the address that will be used when the College, your professors, or your fellow students communicate important information about your program or course activities. Your network credentials can be found in the?ACSIS portal and you are expected to check your Algonquin email regularly and to use it to send and receive college-related email. Support is available through the college Information Technology Service (ITS) at: https://www.algonquincollege.com/its/
Retroactive Accommodations
Students are expected to meet evaluation and completion deadlines as stated in course outline and course section information documents. In circumstances where evaluation and/or completion deadlines are missed or student performance has been affected by a temporary or permanent disability (including mental health), interim or retroactive accommodations may be considered. In such instances, please consult your course faculty member. For other situations where deferral of evaluations may be warranted, please?consult Algonquin College?Policy?AA21: Deferred Evaluation.
Student Course Feedback
Algonquin College’s invites students to share their course experience by completing a student course feedback survey for each course they take. For further details consult Algonquin College Policy AA25: Student Course Feedback.
Use of Mobile Devices in Class
With the proliferation of small, personal mobile devices used for communications and data storage, Algonquin College believes there is a need to address their use during classes and examinations. During classes, the use of such devices unless authorized by your professor can be disruptive and disrespectful to others. During examinations, the use of such devices is generally prohibited unless authorized by your professor. Otherwise use is considered academic dishonesty in the form of cheating. For further details consult Algonquin CollegePolicy AA32: Use of Mobile Devices in Class
Technology Requirements
Students are required to have access to a computer and to the internet. There may also be additional technology-related resources required to participate in a course that are not included in the course materials fee, such as headphones, webcams, specialized software, etc. Details on these requirements can be found in the Course Section Information of the course outline for each course available on Brightspace.
Transfer of Credit
It is the student’s responsibility to retain course outlines for possible future use to support applications for transfer of credit to other educational institutions.
Safe Harbour
In the event of an unexpected major event (pandemic, etc.), your course may have changes that are not reflected in the Course Outline. Should this happen, the Course Section Information document will have updated information about your course.