CMPUT660 Course Outline Fall 2025

2025/09/01

WORK IN PROGRESS SYLLABUS (NOT FINALIZED)

CMPUT 660 ML and LLMs Applied to SE or Machine Learning Applied: Software Engineering, Software Analtyics, and Software Energy Consumption (LEC A1) FALL 2025

CMPUT 660 Sections: A1 Fall 2025

Instructor: Abram Hindle
Office: UComm 7-132 E-mail: hindle1@ualberta.ca
Web Page: https://softwareprocess.ca/

Office Hours: Immediately after class and by appointment.

Lecture Room & Time: LEC A1 - CAB 365 (F 02:00pm - 04:50pm)


TERRITORIAL ACKNOWLEDGEMENT

The University of Alberta respectfully acknowledges that we are located on Treaty 6 territory, a traditional gathering place for diverse Indigenous peoples including the Cree, Blackfoot, Métis, Nakota Sioux, Iroquois, Dene, Ojibway/ Saulteaux/Anishinaabe, Inuit, and many others whose histories, languages, and cultures continue to influence our vibrant community.


COURSE CONTENT**

Calendar Description:

Machine Learning was built to solve many of our problems using available data. Applying machine learning to a field such as software engineering requires data. A field called mining software repositories can be used to help triage bug-reports to experts, to improve development processes and to aide debugging. This course will introduce the methods and tools (especially machine learning) of mining software repositories and artifacts used by software developers and researchers. Students will learn to extract and abstract data from software artifacts and repositories such as source code, version control systems and revisions, mailing-lists and discussions, and issue-trackers and issues. Students will also learn about techniques to analyze this data in order to infer intent, recover behaviours and software development processes from evidence, or to empirically test hypotheses about software development.

Course Topics

Some topics we will touch in this course:

Software repositories and their associated data:

Additional Course Information:

Course Objectives and Expected Learning Outcomes:

Students will learn how to apply various forms of machine learning in order to extract and analyze information from multiple software repositories in order to reason about existing software systems and development processes, as well to validate hypotheses about software development using data extracted from existing software systems.

Pre-requisites

There are no official prerequisites but I would prefer if you had experience making software, writing software, maybe even maintaining software: a systems or software engineering course with a project
would suffice. Prior knowledge of software engineering, machine learning, statistics and natural language processing would help, but is not required.


LEARNING RESOURCES

Required Course Materials:

This course does not have a required textbook. There are a number of excellent resources for this course, available as electronic books or through open access on the Web. See the course eClass site for links.

Images reproduced in lecture slides have been included under section 29 of the Copyright Act, as fair dealing for research, private study, criticism, or review. Further distribution or uses may infringe copyright on these images.

In addition to fair dealing, the Copyright Act specifically exempts projected displays by educational institutions for the purposes of education or training on the premises of the education institution.

Copyright regulations, however, prohibit me from distributing complete copies of the lecture slides on the course site.

You may assume that any code examples we provide to you are public domain and free for you to take without attribution, unless they are licensed.

See the resources page on the course webpage.

Course Schedule & Assigned Readings:

          September 2025
Su   Mo   Tu   We   Th   Fr   Sa   
      1    2    3    4    5C   6   Class01;
 7    8    9   10   11   12C  13   Class02; 2R;
14   15D  16   17   18   19C  20   Class03; 2R; Registration Deadline
21   22   23   24   25   26C  27   Class04; 2R;
28   29   30V                      
                                  
          October   2025
Su   Mo   Tu   We   Th   Fr   Sa  
                1    2D   3CA  4   Class05; 2R; Assignment 1 Due; Truth and Reconcillation Day; Refund Deadline
 5    6    7    8    9   10C  11   Class06; 2R;
12   13V  14   15   16   17C  18   Class07; ThanksGiving
19   20   21   22   23   24C  25   Class08; 2R; 
26   27   28   29   30   31CA      Class09; Assignment 2 and Assignment 2 Presentation;
                                  
          November  2025
Su   Mo   Tu   We   Th   Fr   Sa   
                               1   
 2    3    4    5    6    7CP  8   Class10; 1R; Project Proposal Presentations;
 9   10   11   12   13   14   15   Reading Week; No classes
16   17   18   19   20   21C  22   Class11; 2R
23   24   25   26   27   28C  29   Class12; 2R
30                                 
                                  
          December  2025
Su   Mo   Tu   We   Th   Fr   Sa   
      1    2    3    4    5P   6   Class13; Project Presentations
 7    8P   9   10   11   12   13   Project due 8th; last day of class, no classes
14   15   16   17   18   19   20   
21   22   23   24   25   26   27   
28   29   30   31                 

Other Course Fees:

Students will be required to use the online services such as OpenAI in order to complete the coursework and course project. The expected fees are $5 or less, however, OpenAI may assess fees if storage, bandwidth, user, or operation limits are exceeded. One member of the group will be required to supply payment information. It is the responsibility of the student to pay for any Firebase charges. If you are unable to pay these fees, you must contact your TA and instructor immediately.

On-Line Homework Disclaimer:

Automated Analysis

We reserve the right the automatically analyze your course work, archive your course work, and use it to analyze other course work, especially in the case of detecting plagiarism.

Coursework License

You may assume that any code examples we provide to you are public domain and free for you take without attribution unless they are licensed. Furthermore, source code associated with assignments must be licensed under an OSI-approved open-source license (GPL-2, GPL-3, Apache2, BSD, ISC), preferably a license that is GPL compatible.


REMOTE DELIVERY CONSIDERATIONS

Hybrid Synchronous Delivery:
There are no online lecture components or recorded lectures. Lectures are in person.

Home-based Lab Activities:
As part of the learning experience in this course, you will be required to undertake certain activities in or around your place of residence, To ensure that you undertake the activity safely and fully informed of the risks, please review the University of Alberta’s Remote Learning Lab-Based Assignment Information Advisory. If you have questions or concerns, contact your instructor.


GRADE EVALUATION

Course Work Weight
Partcipation 8%
Assignment 1 10%
Assignment 2 30%
Paper Presentations 12%
Project 30%
Project Proposal 1%
Project Presentation 6%
Project Proposal Presentation 3%

The conversion of your total numeric coursework score to a final grade will be based on interpreting the guidelines of the descriptors, letter grading system, and four-point scale as defined in section 23.4 of the University Calendar. That is, grades are assigned on what we judge to be “failure”, “minimal pass”, “poor”, “satisfactory”, “good”, or “excellent” performance in the context of the class.

We do not use a particular distribution to do the conversion, but instead use our judgment of how your score reflects mastery of the course material. That said, you generally need to be above the median to earn at least a 3.0 or B. For instance, in CMPUT 301, marked the same way, in Fall 2016 A+ was 97+, A was 95+, A- was 92+, B+ was 88+, B was 85, B- was 80, C+ was 75, C was 73, C- was 72, D+ was 71, D was 50+ and F was 0+. The numbers will change based on the perception of what is excellent, good, satisfactory and poor.

Grades are unofficial until approved by the Department and/or Faculty offering the course.

Re-examination:
There is no possibility of a re-examination in this course.

University of Alberta Grading Policy
Grades reflect judgments of student achievement made by instructors and must correspond to the associated descriptor. These judgements are based on a combination of absolute achievement and relative performance in a class. Faculties may define acceptable grading practices in their disciplines. Such grading practices must align with the University of Alberta Assessment and Grading Policy and its procedures.

Course Grades Obtained by Undergraduate Students:
This table reflects the GPA Point Value and Descriptor (e.g., Excellent, Good) for each Letter Grade.

Descriptor Letter Grade Grade Point Value
Excellent A+ 4.0
Excellent A 4.0
Excellent A- 3.7
Good B+ 3.3
Good B 3.0
Good B- 2.7
Satisfactory C+ 2.3
Satisfactory C 2.0
Satisfactory C- 1.7
Poor D+ 1.3
Minimal Pass D 1.0
Failure F or F4 0.0

Note: F4 denotes eligibility of a student to apply for a re-examination in a course.

Course Grades Obtained by Graduate Students:
This table reflects the GPA Point Value and Descriptor (e.g., Excellent, Good) for each Letter Grade.

Descriptor Letter Grade Grade Point Value
Excellent A+ 4.0
Excellent A 4.0
Excellent A- 3.7
Good B+ 3.3
Good B 3.0
Satisfactory B- 2.7
Satisfactory C+ 2.3
Failure C 2.0
Failure C- 1.7
Failure D+ 1.3
Failure D 1.0
Failure F 0.0

Access to Past or Representative Evaluative Material:

Statement of Expectations for AI Use:
You MUST not submit work by LLMs as your own, that is plagiarism. This also applies to other “AI” and Generative Models: ChatGPT, Lex, Page, DALL-E2, Google BARD/Gemini, Microsoft Bing/Copilot, and others. If you use LLMs you must cite it. This includes the corporation that made the AI, the AI, Subject, and Date. For example:

If you use LLMs you must cite it, but it’s probably better to Google what it tells you and find a real citation because:

LLMs like ChatGPT are wrong a lot. It does not understand computer science. It understands how to form sentences and paragraphs well enough to be convincing, but it doesn’t actually understand what anything it is saying means. When it has the choice between two answers, with opposite meanings, it will pick the answer that looks more like things it has seen before, not the answer that is more correct. This means you need to double-check that what it tells you is actually correct.

StackOverflow is always a better resource than Large Language Models such as ChatGPT, Copilot, Bard/Gemini, etc., but of course if you use code from StackOverflow or any other website, you must cite it. This is because other human programmers will usually check and downvote, remove, or fix bad information on StackOverflow. No one is checking the output of LLMs: if an LLM lies to you, no one will ever know.

ChatGPT and similar services are recording everything you tell it, and tracking you. Using ChatGPT/Bing/Bard etc. they are recording everything you say and how the LLM responds to you. There is no privacy.

Re-evaluation of Term Work:
Re-Evaluation of Term Work follows the Computing Science department course policies. Any questions or concerns about marks on a particular assignment must be brought to the attention of the instructor (not a TA) within 7 calendar days of its return date. After that, we will not consider remarking or re-evaluating the work. So do not expect anyone to re-evaluate all the work you did all term long in the hopes of getting a higher final grade.

However, clerical errors such as incorrectly computing or recording a mark may be raised at any time prior to 2 business days following the final exam. It is the student’s responsibility to confirm that their term work has been recorded properly.


POLICIES FOR LATE AND MISSED WORK

Late Policies:

Missed Term Work/Final Exam Due to Non-medical Protected Grounds (e.g., religious beliefs):
When a term assessment or final exam presents a conflict based on non-medical protected grounds, students must apply to the Academic Success Centre for accommodations via their Register for Accommodations website. Students can review their eligibility and choose the application process specific for Accommodations Based on Non-medical Protected Grounds.

It is imperative that students review the dates of all course assessments upon receipt of the course syllabus, and apply AS SOON AS POSSIBLE to ensure the timely application of the accommodation. Students who apply later in the term may experience unavoidable delays in the processing of the application, which can affect the accommodation.

Missed Lecture Participation:
Participation exercises will be available at most lectures.

Missed Assignments, Project Parts, Quizzes, Midterm Exams:
A student who cannot complete an assignment, project part, quiz, or midterm exam, due to incapacitating illness, severe domestic affliction or other compelling reasons must contact the instructor within two business days of missing the assessment, or as soon as possible, to request an excused absence using the absence form. If an excused absence is granted, then weight will be transferred to the next Midterm exam. An excused absence is a privilege and not a right. There is no guarantee that an absence will be excused. Misrepresentation of facts to gain an excused absence is a serious breach of the Student Academic Integrity Policy. In all cases, instructors may request adequate documentation to substantiate the reason for the absence at their discretion.

Failure to complete an assignment or contribute to a project part without an excused absence will result in a raw score of zero or a proportional score reduction.


STUDENT RESPONSIBILITIES

Academic Integrity and Student Conduct:
The University of Alberta is committed to the highest standards of academic integrity and honesty, as well as maintaining a learning environment that fosters the safety, security, and inherent dignity of each member of the community, ensuring students conduct themselves accordingly. Students are expected to be familiar with the standards of academic honesty and appropriate student conduct, and to uphold the policies of the University in this respect.

Students are particularly urged to familiarize themselves with the provisions of the Student Academic Integrity Policy and the Student Conduct Policy, and avoid any behaviour that could potentially result in suspicions of academic misconduct (e.g., cheating, plagiarism, misrepresentation of facts, participation in an offence) and non-academic misconduct (e.g., discrimination, harassment, physical assault). Academic and non-academic misconduct are taken very seriously and can result in suspension or expulsion from the University.

All students are expected to consult the Student Academic Integrity Policy for clarification on the various academic offences. All forms of academic dishonesty are unacceptable at the University. Unfamiliarity of the rules, procrastination or personal pressures are not acceptable excuses for committing an offence. Listen to your instructor, be a good person, ask for help when you need it, and do your own work -- this will lead you toward a path to success. Any academic integrity concern in this course will be reported to the College of Natural and Applied Sciences.

Suspected cases of non-academic misconduct will be reported to the Office of Student Success and Experience. The College, the Faculty, and the Dean of Students are committed to student rights and responsibilities, and adhere to due process and administrative fairness, as outlined in the Student Academic Integrity Policy and the Student Conduct Policy. Please refer to the policy websites for details on inappropriate behaviours and possible sanctions.

The College of Natural and Applied Sciences (CNAS) has created an Academic Integrity for CNAS Students eClass site. Students can self enroll and review the various resources provided, including the importance of academic integrity, examples of academic misconduct and possible sanctions, and the academic misconduct and appeal process. They can also complete assessments to test their knowledge and earn a completion certificate.

“Integrity is doing the right thing, even when no one is watching” -- C.S. Lewis

Contract Cheating and Misuse of University Academic Materials or Other Assets:
Contract cheating describes the form of academic dishonesty where students get academic work completed on their behalf, which they submit for academic credit as if they had created it themselves. Contract cheating may or may not involve the payment of a fee to a third party, who then creates the work for the student.

Examples include:

  1. Getting someone to write an essay or research paper for you.
  2. Getting someone to complete your assignment or exam for you.
  3. Posting an essay, assignment, or exam question to a tutorial or study website; the question is answered by a “content expert”, then you copy it and submit it as your own answer.
  4. Posting your solutions to a tutorial/study website, public server, or group chat and/or copying solutions that were posted to a tutorial/study website, public server, or group chat.
  5. Sharing your login credentials to the course management system (e.g., Canvas) and allowing someone else to complete your assignment or exam remotely.
  6. Using an artificial intelligence bot or text generator tool to complete your essay, research paper, assignment, or exam solutions for you (without the instructor’s permission).
  7. Using an online grammar checker to “fix” your essay, research paper, assignment, or exam solutions for you (without the instructor’s permission).

Contract cheating companies thrive on making students believe that they cannot succeed without their help; they attempt to convince students that cheating is the only way to succeed.

Uploading the instructor’s teaching materials (e.g., course outlines, lecture slides, assignment, or exam questions, etc.) to tutorial, study, or note-sharing websites or public servers is a copyright infringement and constitutes the misuse of University academic materials or other assets. Receiving assignment solutions or answers to exam questions from an unauthorized source puts you at risk of receiving inaccurate information.

Receiving assignment solutions or answers to exam questions from an unauthorized source puts you at risk of receiving inaccurate information.

Additional Examples of Contract Cheating:

Logging in as someone else Sharing your login credentials Sharing your anonymous ID Using someone else’s anonymous ID Allowing someone else to log in as you Representing yourself as someone else Having someone else represent themselves as you On other UAlberta services and linked services: Zoom gmail Google Chat, Drive, … Lab computers Wi-Fi … On an external service, website, or app: repository hosting services: GitHub, GitHub Classroom, Bitbucket, GitLab, … live quiz services: Mentimeter, … Textbook websites/apps KnowledgeTree/MasteryGrids online tutorials online practice systems online homework systems

Appropriate Collaboration:
Students need to be able to recognize when they have crossed the line between appropriate collaboration and inappropriate collaboration. If students are unsure, they need to ask instructors to clarify what is allowed and what is not allowed.

Here are some tips to avoid copying on assessments:

  1. Do not write down something that you cannot explain to your instructor.
  2. When you are helping other students, avoid showing them your work directly. Instead, explain your solution verbally. Allowing your work to be copied is also considered inappropriate collaboration.
  3. It is also possible that verbally discussing the solution in too much detail may result in written responses that are too similar. Try to keep discussions at a general or higher level.
  4. If you find yourself reading another student’s solution, do not write anything down. Once you understand how to solve the problem, remove the other person’s work from your sight and then write up the solution to the question yourself. Looking back and forth between someone else’s paper and your own paper is almost certainly copying and considered inappropriate collaboration.
  5. If the instructor or TA writes down part of a solution in order to help explain it to you or the class, you cannot copy it and hand it in for credit. Treat it the same way you would treat another student’s work with respect to copying, that is, remove the explanation from your sight and then write up the solution yourself.
  6. There is often more than one way to solve a problem. Choose the method that makes the most sense to you rather than the method that other students happen to use. If none of the ideas in your solution are your own, there is a good chance it will be flagged as copying.

For programming assignments, powerful software tools are used to detect plagiarism. When the software tools indicate that there is similarity between two submissions, the submissions are reviewed by the instructor or teaching assistant. If the possibility that the standards for academic honesty were violated is confirmed, an investigation is started. Eventually the submitted solutions may be forwarded to the Faculty of Science Associate Dean of Students for further investigation and eventual sanctions.

All suspected cases of plagiarism and other forms of cheating are immediately referred to the College of Natural and Applied Sciences (CNAS). CNAS, not your instructor, will determine what course of action is appropriate. We do not hesitate to send ALL cases of cheating to CNAS. Please do not put yourself or us into such an unpleasant situation. Please read the Student Conduct Policy carefully.

Citations:
If you include code or ideas from someone who isn’t you (including from a Generative AI or LLM) you must cite it. Here are examples of an appropriate citation:

Collaboration policy definitions:
The following are definitions for the different collaboration policies used in this course

Solo Effort:
Participation exercises fall under the department’s Solo Effort model unless announced by the instructor. Solo Effort must be completed by the student registered in the course without external assistance from any individual or organization.

Violation of the above will be considered a breach of the Student Academic Integrity Policy.

Confidential:
Midterms and Final Exams are also Confidential in addition to Solo Effort as listed above.

Consultation:
Individual assignments and labs are under the department’s Consultation model. That means you may discuss the labs with others, but you must create and submit a solution that is entirely your own work. If you consult with other students, you must list their names in a comment at the top of your submission or in your repository README, along with a brief description of the part(s) of the assignment you discussed.

How to consult with other students without plagiarizing:

Examples of consultation:

Teamwork:

Intellectual Violence:
In this course, Intellectual Violence is considered bullying. Intellectual violence is when one teammate uses their skill, knowledge, or experience, to intimidate or control the other teammate(s) rather than sharing and helping them learn. Examples of Intellectual Violence

Instances of Intellectual Violence may result in reduced marks and/or be referred to the Dean of Students under the Student Conduct Policy.

Exam Conduct:
Please refer to the Examinations section of the Academic Calendar for more details on Conduct of Exams.

Some key points to be aware of:

Accommodations for Students:
In accordance with the University of Alberta’s Discrimination, Harassment, and Duty to Accommodate policy, accommodation support is available to eligible students who encounter limitations or restrictions to their ability to perform the daily activities necessary to pursue studies at a post-secondary level due to medical conditions and/or non-medical protected grounds. Accommodations are coordinated through the Academic Success Centre, and students can learn more about eligibility on the Register for Accommodations website.

It is recommended that students apply AS SOON AS POSSIBLE in order to ensure sufficient time to complete accommodation registration and coordination. Students are advised to review and adhere to published deadlines for accommodation approval and for specific accommodation requests (e.g., exam registration submission deadlines). Students who request accommodations less than a month in advance of the academic term for which they require accommodations may experience unavoidable delays or consequences in their academic programs, and may need to consider alternative academic schedules.

STUDENT SUPPORTS

Faculty of Science Student Services:
​The Faculty of Science Student Services office is located on the main floor of the Centennial Centre for Interdisciplinary Sciences (CCIS). This office can assist with the planning of Your Academics, and provide information related to Student Life & Engagement, Internship and Careers, and Study Abroad opportunities. Please visit Advising for more information about what Faculty Academic Advisors can assist you with.

Academic Success Centre:
The Academic Success Centre provides professional academic support to help students strengthen their academic skills and achieve their academic goals. Individual advising, appointments, and group workshops are available year round in the areas of Accessibility, Communication, Learning, and Writing Resources. Modest fees may apply for some services.

Feeling Stressed, Anxious, or Upset?
It’s normal for us to have different mental health experiences throughout the year. Know that there are people who want to help. You can reach out to your friends and access a variety of supports available on and off campus at the Need Help Now webpage or by calling the 24-hour Distress Line: 780-482-4357 (HELP).

Learning and Working Environment:
The Faculty of Science is committed to ensuring that all students, faculty and staff are able to work and study in an environment that is safe and free from discrimination, harassment, and violence of any kind. It does not tolerate behaviour that undermines that environment. This includes virtual environments and platforms.

If you are experiencing harassment, discrimination, fraud, theft or any other issue and would like to get confidential advice, please contact any of these campus services:

Course Outlines:
Policy about course outlines can be found in the Academic Regulations, Evaluation Procedures and Grading section of the University Calendar.

Disclaimer:
Any typographical errors in this syllabus are subject to change and will be announced in class and/or posted on the course website. The date of final examinations is set by the Registrar and takes precedence over the final examination date reported in the syllabus.

Copyright: