CST8333 Programming Language Research Project
Research Assignment 1 – See Blackboard for due date
Refer to the Course Section Information (CSI) document posted in Blackboard under Course Information for additional requirements common to all assessments.
Tasks
Complete each of the tasks below, you may use bullet style. rather than essay style. for your MS Word document.
The tasks titles themselves can be used as headings in your MS Word document.
1. Language Research
· Find three websites, updated within the past 1 year, that list and rank popular programming languages
· Provide a brief description in your own words for each website. (One sentence if possible)
· Document the websites using IEEE reference style. format.
· How do you know that each website comes from a reputable source?
2. Language Selection
· What programming language will you study?
· Why have you decided to study it?
· How does the language align with your career goals?
3. Unit Testing Research
· Find two websites that detail framework-based unit testing in your language of study.
· Provide a brief description of each website.
· Document the websites using IEEE reference style. format.
· Indicate clearly what unit test framework you will use in the course and state why.
· Note: In rare cases, a programming language may not have a unit-testing framework available that is free for use. If this is the case for your selected programming language, you will need to provide proof in the form. of referenced resources. Additionally, in later assessments, you will need to write your own testing code without a framework, providing references to your sources that there is no unit-testing framework each time.
4. Development Tools: Platform, Tool availability, Licensing
· Provide the exact operating system, programming language and development tools (IDE) you are intending to use for this course, with detail including the version or build number for each of the operating system, IDE and programming language. Most operating systems have a system information tool, IDE’s will usually have an About-dialog, and most languages have some way to print the version either within code or from the command line. Screen shots of any of these are permitted and should be copy and pasted into your MS Word document. For example, “Windows 10 Pro Version 10.0.17763 Build 17763, Python 3.8.4, Visual Studio Code 1.46.0”
· Is the development software free for use, or will you obtain a license to use it legally? I.e. read the licensing.
· It is recommended that you focus on locating tools and resources that are free for use / free for individual use, rather than purchasing development tools at an additional cost.
5. WBS and Gantt Chart for Practical Project Part 1
· Review the handout provided with WBS and Gantt Requirements, Examples, and Resources.
· Review the handout for Practical Project Part 1.
· Create a brief Work Breakdown Structure (WBS) to decompose the Practical Project Part 1 tasks into smaller sub-tasks.
· Create a Gantt Chart in MS Project or Project Libra based on your WBS;
o Indent to create sub-tasks;
o Link sequential tasks;
o Create one milestone for “Practical Project Part 1 Delivered”, set with the due date
o Add your full name in the Resource column adjacent to at least one task or sub-task.
· Insert a screen shot of your Gantt chart into this section of the MS Word document.
· Submit the Original Gantt Chart file, along side your MS Project document.
Your single MS Word document should have this general format
· Cover Page
· Headings as above with content addressing the questions and tasks including screen shots where applicable.
· References used in your research and write up.
Submission Requirements
· Upload your single MS Word document and your Gantt chart.
· Submitting any other format other than .doc or docx for your MS-Word document will result in zero for this assignment. Open-Office/Libra-Office users save-as… MS Word.
· Your Gantt chart must be submitted as either Microsoft Project or ProjectLibre with file extension .mpp or .pod (respectively), any other file format will score zero for this part.
· Ensure your full name is included in all materials as asked; you will lose marks if your full name is not included on a cover page as the first page of the document.
Grading (12 Points Total)
Note: A mark deduction of 3 points will be applied if you do not have a cover page with your name in it.
Criteria
|
Missing / Poorly done (0)
|
Below Expectations (1)
|
Meets Expectations (2)
|
Language Research
|
Missing or done very poorly or wrong file type.
|
Does not meet all of the requested requirements: 3 websites on programming language popularity, IEEE format, description, reputable source.
|
Meets all of the requested requirements: 3 websites on programming language popularity, IEEE format, description, reputable source.
|
Language Selection
|
Missing or done very poorly or wrong file type.
|
Does not meet all of the requested requirements: programming language, why study it, how aligns to career
|
Meets all of the requested requirements: programming language, why study it, how aligns to career
|
Unit Testing Research
|
Missing or done very poorly or wrong file type.
|
Does not meet all of the requested requirements: 2 websites, IEEE format, description, unit test framework, why
|
Meets all of the requested requirements: 2 websites, IEEE format, description, unit test framework, why
|
Tool Availability Research and Documentation
|
Missing or done very poorly or wrong file type.
|
Does not meet all of the requested requirements: Operating System, Programming Language, and Tools (IDE), each item with exact version or build numbers.
|
Meets all of the requested requirements: Operating System, Programming Language, and Tools (IDE), each item with exact version or build numbers.
|
WBS
|
Missing or done very poorly or wrong file type.
|
Does not meet all of the requested requirements: breaks down the tasks from Practical Project Part 1 into sub-tasks, no dates or times are used, sub-tasks are indented, has expected numbering format.
|
Meets all of the requested requirements: breaks down the tasks from Practical Project Part 1 into sub-tasks, no dates or times are used, sub-tasks are indented, has expected numbering format.
|
Gantt
|
Missing or done very poorly or wrong file type.
|
Does not meet all of the requested requirements: original Gantt chart file provided, tasks and sub-tasks match WBS, sub-tasks indented, time estimates in days, sequential tasks linked, one milestone, and student name as resource.
|
Meets all of the requested requirements: original Gantt chart file provided, tasks and sub-tasks match WBS, sub-tasks indented, time estimates in days, sequential tasks linked, one milestone, and student name as resource.
|
Writing a paper on a non-permitted language (see below), e.g. Java will result in a score of zero.
Additional Notes
Programming languages recommended / permitted for study
· Python: Desktop App either console or GUI with Tkinter, or Web with Django
· C#: Desktop App with WPF or Web with ASP.Net MVC
· C: This looks similar to Java, but it is more difficult to program in, recommended console program
· C++: See notes on C above, avoid C++ .Net, and use C++ Standard Edition console program.
· Ruby on Rails: Linux recommended, get a virtual machine if using Windows.
· Swift / Objective-C: Only select if you already have an Apple computer (Macbook air/pro) to run Xcode legally.
· Kotlin: Android development
· Server-Side JavaScript, e.g. node.js
o You may use a client-side JavaScript. framework in addition to a server-side JavaScript. framework to create a client, or you may use a testing tool like Postman instead for testing instead of a client.
Programming languages not permitted for study.
· Java
· COBOL
· C++.Net (This is a Microsoft Extension to C++, not well supported, and problematic for learning C++)
· Android with Java
· HTML, PHP, client-side JavaScript.
· Declarative / Functional languages e.g. Clojure, Prolog, Lisp etc.
· Video game software projects are not permitted for this course.
If you would like to study a programming language not listed above, contact your course professor first to get a determination and written (emailed) permission to proceed.