UNB/ CS/ David Bremner/ teaching/ cs2613/ CS2613: Programming Languages Laboratory
Professor David Bremner
Office ITC321
Phone 506-447-3300
Instructor Email bremner AT unb.ca Faster than phoning me.
Labs Monday 08:30 - 10:20,
Wednesday 08:30 - 10:20

Evaluation

Component Number Subtotal (%)
Git Repo 12 12
Assignments 5 10
Quizzes 3 39
Final Exam 1 39

Git repo

12% of the course mark will be based on evaluations of your git history. The grading scheme is available at git-rubric. Snapshots will be taken every Friday at 4:30 PM starting in the second week of classes. Work from labs from that week must committed before the deadline.

Assignments

10% of the course mark will be based on assignments completed independantly. These will also be due at 4:30 PM on the corresponding friday, committed to your coursegit repository.

Quizzes

Three programming quizzes will be held during scheduled lab times.

Final Exam

There will be a registrar scheduled final exam in this course. Like the quizzes, this will be held in the lab and involve programming. You are responsible for making sure your travel plans are compatible with the scheduling of the final exam.

Extra requirements

To achieve a mark of higher than D in the course, your combined mark on the 3 quizzes and the final must be at least 50% of the maximum possible.

Transfer of weight

Rubrics

Rubrics are available for

Use of Git

This page is about rules and regulations. Other git related pages are coursegit and git-quickref.

Tags:

Books and other reference material

All of the reference materials for this course are either in the UNB Library, or freely available on the net.

Git

A reference for Git is Pro Git

JavaScript

The JavaScript part of the course will be based Eloquent Javascript. A Local Mirror exists for use in case of network problems (or during exams).

The MDN JavaScript Documentation is encyclopedic, and the best place to look if you can't find what you need in the text. There is a partial local copy for use during tests. It has a few rough edges, but all of the same text should be there.

There is also a local copy of Node.js API documentation, and of the ES2015 features reference

Python

The Python part of the course will be based on Practical Python. There is a local mirror.

A local mirror of the Python documentation is also available.

Racket

Policy on Late and Missed Work

  1. Assignments and git repo evaluations will not be accepted after the posted date and time. 1.

  2. The weight for assignments may be reassigned, at the discretion and risk of the student, to the final exam. The student is understood to have chosen this option by not handing in the assignment.

  3. Class tests must be completed at the scheduled time. It is your responsibility to attend the entire lab when a class test is scheduled.

  4. For absences or illnesses of more than 5 days, documentation should be obtained from Student Services.

  5. Students are still expected to complete their git commits for weeks when they are partially absent, unless that partial absence includes the Friday when the snapshot is taken.

  6. In the case of appropriately documented medical or compassionate reasons, the weight of missed tests and git evaluations may be redistributed to the non-missed tests in the course.

If you are going to miss a significant amount of labs, an assignment or a test, contacting me by email beforehand will make things easier for both of us.


  1. Students with an appropriate registered academic accomodation may be able to receive up to 24h extension on assignments, but must request such before the due date for the assignment in question.

Use of generative AI

David Bremner
Policy on the use of generative AI

Following current usage, this document uses generative AI to refer to services that generate text, images, or other media using large language models or related technology. Such services include Microsoft Copilot, ChatGPT, Gemini 1, and many others. The use of generative AI in my courses will be governed by the policy in this document. Specific deliverables may have additional restrictions.

  1. The term "someone else" in the UNB plagiarism policy will be interpreted as the creator of the original work 2 used to build the model backing a generative AI service. This creator is almost certainly not the provider of the generative AI service 3.

  2. To put the previous point another way, if you use the output from a generative AI service in your coursework, you are responsible for citing the original source, not only the generative AI service. The penalties for failing to do so, including for failing to verify a source claimed by a generative AI service, are defined by the UNB plagiarism policy.

  3. Generative AI services are not acceptable as sources of facts. If you use them to locate sources of facts, you are responsible for verifying that those sources actually exist, and say what the generative AI service claims.

  4. You may use automated tools to provide suggestions and writing feedback, but copying and substantial blocks of text from a generative AI service will be considered as be considered either as plagiarism or as non-completion of the relevant deliverable, depending on whether the strict crediting rules above are satisfied 4.


  1. These names are trademarks of Microsoft, OpenAI, Google (Alphabet) respectively.
  2. In the machine learning literature, and some popular writing, this is referred to as training data.
  3. Yes, this means (the owners of) most generative AI services are guilty of plagiarism, but they are not enrolled in my course.
  4. Essentially, if you can't be bothered to write it, we don't want to read it.

UNB Plagiarism Regulations

Plagiarism Regulations from the 2026/2027 UNB Calendar

VIII. Academic Offences

NOTE: Consideration of a request to withdraw from a course or courses involved in an academic offence will not be given until the case is resolved.

Academic offences include, but are not limited to, the following:

A. PLAGIARISM

UNB defines plagiarism as presenting words, visuals, thoughts and/or ideas that do not belong to/were not created by you, as your own without proper acknowledgment of the original source. Plagiarism applies to any work that is not properly acknowledged, regardless of the format of that work. Different formats of work may include, but are not limited to, materials that are published and unpublished, written or spoken, scientific and mathematical concepts, algorithms, code, images and art, and any of the above generated through automated production of text or other media (such as artificial intelligence). When in doubt, review the course syllabus or consult with your course instructor and ask if appropriate.

Plagiarism is a form of academic dishonesty and can occur deliberately or as a result of genuine misunderstanding. Genuine misunderstanding occurs due to lack of knowledge and understanding of what constitutes plagiarism and is unintentionally presenting work as your own without proper acknowledgement. A formal finding of genuine misunderstanding can only occur once, any subsequent incident(s) will be treated as an allegation of deliberate plagiarism as outlined in the plagiarism procedures, item 1.

Deliberate and genuine misunderstanding are both considered forms of plagiarism. Some examples of plagiarism include but are not limited to:

  1. Adopting someone else’s or an automated writing partner or editor’s line of thought,argument, arrangement, programming code or supporting evidence without proper acknowledgment.
  2. Copying from any source, without proper acknowledgement.
  3. Paraphrasing by using different words, programming code, and/or phrasing to present the ideas of the original source/s without proper acknowledgement. Examples include,but not limited to, copying text verbatim but swapping words with synonyms.
  4. Unattributed patch writing by copying elements from different sources, attempting to combine them to create new work and presenting as original work.
  5. Not using quotation marks to identify exact borrowed wording while also failing to properly acknowledge the source/s from which the wording was obtained.
  6. Using charts, graphs, statistics, images programming code or other illustrative media that is not your own without proper acknowledgement.
  7. Programming code plagiarism by copying, adapting or reproducing program code and presenting as your own.

Note: For all work that a student submits for any form of academic credit, automated production may not be used in a way that would constitute academic plagiarism if the automated produced text, code, and/or media were a human author whose work wasused without attribution.

Acknowledgement

Proper acknowledgement involves giving credit to the original author/creator of work or idea(s) you are using that are not your own. This may take the form of citations, acknowledgement (or disclosure or declaration) statements, or both.

The proper citation format will depend on the instructor’s preferred style of citation, but generally include the author of the original work, the title of the original work, the year of publication and the name of the publisher.

Acknowledgement statements indicate how automated production of text or other media (such as artificial intelligence) were utilized in your coursework, and may include the tool name, the prompt(s) utilized, and a statement of how the output(s) were adapted or adopted.

In all cases, refer to your course syllabus to determine the appropriate citation style for your course.

Citation resources are available through the UNB Libraries Academic Integrity Guide https://lib.unb.ca/guides/academic-integrityand the Writing Centres https://unbcloud.sharepoint.com/sites/wss.

NOTE: In courses which include group work, a penalty may be imposed on all members of the group unless an act of plagiarism is identified clearly with an individual student or students.

Procedures

******In the case of plagiarism, the instructor must make every reasonable effort to discuss the case with the student or group and follow one of two courses of action:

  1. If the instructor is satisfied that the plagiarism was the result of a genuine misunderstanding, the instructor shall complete an academic offence incident report in a form approved by the Registrar's Office, containing the student's name and the particulars of the incident, and submit to the Registrar who shall advise the appropriate Dean, and the Chair of the student's program or Department where applicable. The Registrar shall notify the student by registered letter and/or electronic mail of the regulations governing plagiarism, the possible consequences, the student's right to appeal, the right to appear before the appropriate appeals committee (Student Standing and Promotions Committee on the Fredericton campus and Senate Student Appeals Committee on the Saint John campus), and the procedures involved. The Registrar shall make available to the student a copy of the academic offence incident report and supporting documentation. While a case of plagiarism resulting from genuine misunderstanding will not be considered a student's first offence, a second plea of ignorance by the same student in response to a subsequent allegation of plagiarism will not be accepted; similarly, a subsequent incident report indicating that the alleged plagiarism is a result of genuine misunderstanding responding will be treated as an allegation of deliberate plagiarism. A student responding to the instructor's allegation must do so in writing within three weeks of the date of the Registrar's notification. The student is urged to submit to the appropriate appeals committee a written statement regarding the case. In a first incident of plagiarism resulting from genuine misunderstanding, the instructor may permit the student to submit a genuine piece of work to be graded in place of the one plagiarized. If the student does not appeal, the time allowed for submission of work is three weeks from the date of the Registrar's letter of notification. In the case of an appeal, where the instructor's allegation is upheld, the period of time allowed for submission is as determined by the appropriate appeals committee.
  2. If, in the view of the instructor the plagiarism was deliberate, the instructor shall complete an incident report in a form approved by the Office of the Registrar, containing the student’s name and the particulars of the incident, and shall submit to the Registrar who will advise the Dean of the Faculty concerned and the Chair of the student's program or department where applicable. The Registrar shall notify the student by registered letter and/or electronic mail of the regulations governing plagiarism, the possible consequences, the student’s right to appeal, the right to appear before the appropriate appeals committee, and the procedures involved. A student appealing the charge of an academic offence must do so in writing within three weeks of the date of the Registrar's letter of notification. On receiving an incident report alleging an act of deliberate plagiarism, or on receiving an incident report alleging a second commission of plagiarism by the student which is determined viewed by the instructor to be as a result of genuine misunderstanding, the Registrar shall refer the matter for a hearing to the appropriate appeals committee. A student who wishes to respond to this allegation is urged to submit to the appeals committee a written statement regarding the case, within three weeks of the date of the Registrar’s letter of notification. The Registrar shall inform the student by registered letter or electronic mail of the referral to the appeals committee, and the wish of the Committee that the student be present when the case is heard.
  3. The appropriate appeals committee, upon the conclusion of a hearing into the case, or following the review of the written materials if the student does not appear, must make one or more of the following findings prior to proceeding to an assessment of a penalty for deliberate plagiarism. i. On hearing a case involving a first incident report alleging that a student has committed an act of deliberate plagiarism, the appeals committee must first decide whether an act of plagiarism has occurred. If the Committee so finds, the Committee must then determine whether the plagiarism was deliberate, or an act of genuine misunderstanding. If the former, the appeals committee will proceed to assess penalties in accordance with this Regulation, if the latter, the appeals committee will assess no penalty, but will direct the Registrar to note in the student’s academic file that the student has had one finding of genuine misunderstanding. ii.If the case before the appeals committee (i) follows a prior finding of plagiarism, or (ii) is a second allegation of plagiarism as a result of genuine misunderstanding, the appeals committee may not make a further finding of genuine misunderstanding in disposing of the case. The appeals committee may only make a finding that the alleged act of plagiarism was deliberate plagiarism or that the alleged act of plagiarism was not an act of plagiarism.

Penalties for Deliberate Plagiarism

In case of deliberate plagiarism, the penalties are:

First Offence: If the student does not appeal or if, on appeal, the Committee upholds the instructor's allegation:

  1. A notation will be placed on the student's transcript of academic record concerning the academic offence. The length of time the notation appears on the student's transcript of academic record is to be decided when the penalty is imposed and will depend on the severity of the offence.
  2. The student may be required to submit a satisfactory and genuine piece of work to replace the one involving plagiarism. If the assignment is not resubmitted or is unsatisfactory, the student will receive a grade of F (zero) in the course. NOTE: If this penalty is assessed, the period of time allowed for the submission of the work will be determined by the Registrar in consultation with the faculty member making the charge and, where appropriate, the Committee.
  3. The student will receive a grade of F (zero) for the piece of work and, depending on the severity of the offence, may receive a grade of F for the course.
  4. Other penalties as outlined in penalties for Other Academic Offences may be imposed.

Subsequent Offence: In cases where the Committee considers that the student has plagiarized again:

  1. The student will receive a grade of F for the course, and a notation of the academic offence will appear on the student's transcript of record. The length of time the notation appears on the student's transcript of academic record is to be decided when the penalty is imposed.
  2. Other penalties as outlined in penalties for Other Academic Offences may be imposed.

B. OTHER ACADEMIC OFFENCES

  1. Cheating on examination, tests, assignments or reports, including but not limited to: Impersonating a candidate at an examination or test or in connection with any assignment in a course or availing oneself of the results of impersonation. Obtaining, through theft, bribery, collusion, purchase, or other improper manner, a. an examination or test paper prior to the date and time for writing the examination or test; b. academic materials belonging to another person, e.g. laboratory reports, assignments, papers, computer materials, datasets.
  2. Falsifying or knowingly submitting false assignments or credentials, records, transcripts, or other academic documents.
  3. Submitting a false health or other certificate.
  4. Submitting identical or substantially similar work for one course or program of study, which has been or is being submitted for another course or program of study, without the prior express knowledge and approval of the instructors.
  5. Interfering with the right of other students to pursue their studies.
  6. Knowingly aiding or abetting any of the above offences.
  7. Tampering with, or altering, in any deceptive way, work subsequently presented for a review of the grade awarded.

Procedures

The instructor and, where applicable, the invigilator or other appropriate person shall, where practical, discuss the matter with the student concerned.

The instructor or the instructor's representative, if satisfied that an academic offence has been committed, shall complete an academic offence incident report and shall submit it, together with attached information, to the Registrar. The Registrar shall report it to the Chair of the Department (where applicable) and the Dean of the Faculty concerned. Each case will be referred by the Registrar to the appropriate Committee for review and appropriate action. The Registrar shall inform the student by registered letter and/or electronic mail of the referral to the Committee, the student's right to respond, the wish of the Committee that the student be present when the case is heard, and the procedures involved. A copy of the academic offence report and attached information will be provided to the student in a timely manner. The student is urged to submit to the Committee a written statement regarding the case. A student responding to the decision, shall do so in writing within three weeks of the date of the Registrar's letter of notification.

Penalties

A student who is found guilty of an academic offence will have two penalties imposed:

  1. A notation on the student's transcript of academic record concerning the academic offence. The length of time the notation appears on the student's transcript of academic record is to be decided when the penalty is imposed.
  2. A grade of F (zero) in an examination, test or course. One of the following penalties may also be imposed.
  3. A recommendation to the President for suspension for a specified period. The recommendation is to include the length of time the notation is to appear on the student's transcript of academic record.
  4. A recommendation to the President for expulsion from the University. If the student is expelled, a permanent notation will appear on the student's transcript of academic record.

C. GENERAL

  1. Consideration of a request to withdraw from a course or courses involved in an academic offence will not be given until the case is resolved.
  2. Students on the Fredericton Campus will submit appeals to the Senate Student Standings and Promotions Committee; on the Saint John Campus, appeals will be submitted to the Students Appeals Committee.