CS Training and CS Writing Style - Generic: Difference between pages

From Computer Science at Indiana State University
(Difference between pages)
Jump to navigation Jump to search
m 1 revision imported
 
wiki_previous>Jkinne
 
Line 1: Line 1:
=Calendar/Dates=
This page contains some general rules on good writing style in CS courses.
* All training levels have rolling start dates throughout all parts of the calendar year.


=Training Philosophy=
=Attribution and File Header=
* Experiential learning - you learn by doing and practice.
Each file should have comments at the top of the file giving a summary of what the file is. This should include the following elements.
* Open access educational resources - utilize when available for basic instruction.
* Learning outcomes - incremental, mastery through practice/doing.
* Each training level specifies key learning outcomes, and our work focuses on getting you the time on task needed to master these learning outcomes.
* Mastery of learning outcome tasks through the following steps: basic content, demonstration and explanation of task (multiple examples), self check examples (answers provided), assigned examples as quiz questions.


=Training Levels=
* Author: your name
* Lettered, with different domains having a different number of levels.
* Contents: what is this file for (e.g., hw 1 cs 500)
* Each "level" is designed to be around 50 hours of work (depending on your background and how quickly you pick it up).
* Date: date handed in
* Each level assumes completion of the previously levels. Most levels build on previous levels.
* Summary: summary of a sentence or few - what does the program do or what is the file about, what changes did you make, etc.
* Trainees can start a domain at whichever level is appropriate, depending on their background.
* Attributions: list of sources you used. If you used AI you need to list the prompts you used, which AI was used, and if possible a link back to the AI's responses. If you discussed with anyone, list their names and the amount of discussion. If anyone looked at your code, you need to list that. If you copy/pasted code from anywhere, you need to indicate that and give a link to where you got it from. If you started with a file from class, you list that as well. If you have no attributions to list, then just put "none".


=Training Domains=
=General Rules=
* Python programming
* '''Proofreading''': you should proofread your work to check for spelling, typos, etc. You should also reorganize as seems appropriate while you proofread: your first draft may be a complete solution, but when reading through it you may see a clearer or more direct way to organize your work.
** Level A - first 4 chapters of Automate the Boring Stuff with Python (basics, conditionals, loops, functions, lists) at a level covered in CS 101 Fundamentals of Computing
* '''Be concise''': be as concise as possible while still giving as much detail as the instructor wants. A general rule is to include a little more detail than the instructor does for in-class examples. An instructor might choose to return your assignment without reading it if it is too long. Being concise is valued in computer science (and in math and the sciences in general).  
** Level B - chapters 5, 6, 9, (dictionaries, tuples, strings, files) and selections of others at a level covered in CS 151 Introduction to Computer Science
* '''Write for the intended audience''': you should generally assume your intended audience is a CS student who has been in the lectures for your course but has not completed the assignment themself. In particular, this means you need to justify your answers and your work and explain it well.
** Level C - object-oriented programming and additional topics at a level covered in CS 201 Programming Structures
* '''Complete sentences''': for essays, short answer questions, and proofs you should write in complete sentences using good grammar.
** Levels A-C collectively are comparable to the python portion of CS 401/501 Programming for Data Science
* '''Show your work''': as mentioned above, you should include as much detail as the instructor does in class. Note that you are being graded on your understanding, not ''just'' for finding the correct answer. So you need to be convincing the instructor that you know how to do this problem.
* C programming
* '''Plagiarism''': see CS course [[Policies]] and additional details in [[Jeff Kinne Course Policies]].
** Levels A, B, C - comparable to the corresponding levels for python programming
* '''Handwriting''': if turning in something that is hand written, your handwriting needs to be legible. If you turn in something that is not legible, it may be given a grade of 0.
** Levels A-C collectively are comparable to the C portion of CS 500 Programming Fundamentals.
* '''Page/problem order''': turn in your work with the problems in the order they were assigned (e.g. 1, 2, 3) to make it easier for the instructor to find your answers to each problem. If scanning in work, make sure the pages are rotated properly in the file.
* Data structures
** Level A - basics, arrays, linked lists, stacks, queues
** Level B - binary search tree, heap, hash table
** Levels A-B are comparable to the data structures portions of CS 202 Data Structures & Algorithms, or CS 500 Programming Fundamentals.
* Algorithms
** Level A - algorithms basics, searching and sorting
** Level B - graphs, breadth-first / depth-first search, shortest path
** Levels A-B are comparable to the data structures portions of CS 202 Data Structures & Algorithms, or CS 500 Programming Fundamentals.
* Unix/linux
** Levels TBD
* Mathematics
** Levels TBD
 
=Evaluation=
* Auto-graded quizes, quiz questions regularly updated/changed.
* Auto-graded program output, programs regularly updated/changed.
* Final interview - using a script and rubric that is consistent and provided to all registrants.
* The result of the evaluation is one of the following: did not pass, pass-, pass, pass+.  The evaluation form is retained at ISU.
* Pdf "certificates" are issued with the result of the evaluation, explanation of what the evaluation means. '''Something also on LinkedIn (endorse their profile with appropriate certificate)?'''
 
=What is Included in the Price=
* $50/month, first month is free for ISU students or those with a complete application, $450/year.
* Access to training materials, training assignments/quizzes, auto-graded quizzes, auto-graded program output.
* For each training level, 2 chances per month at the final interview (required for officially completing/passing the training). Additional final interview chances for an additional fee.
* For US residents only - help/assistance through Teams, dozens of assignments with feedback.
* Differentiator from Udemy, Coursera, EdX, etc. - focus on spending doing "doing" / active learning / lots of assignments, tied/integrated to ISU curriculum.
 
=Administration=
* One Microsoft Team for content, communication, assignments.
* Separate Microsoft Team for help/assistance (US residents only).
* Auto-graded quiz questions hosted securely off of the CS server.
* Final evaluation over video/screen-sharing meeting.
* CS faculty member runs the training programs with assistance from CS GA.
* Registration/payment through Center for Community Engagement (Aceware Student Registration system).
* Breakdown of where fees go is TBD.
* Registration agreement includes a privacy statement (what data do we keep on each registrant, how they can ask for their data, how they can ask it to be deleted), paying particular attention to international registrants.
 
=Training Packages=
The following are collections of levels designed to meet the outcomes of courses or admissions.  These are not guarantees of credit or a positive admission decision.
* MS Admissions interview - pass rating in each of - Python levels A-B or C levels A-B, Data structures levels A-B, Algorithms level A.
* CS 151 -
* CS 201 -
* CS 202 -
* CS 500 - pass+ rating in each of - C levels A-B, Data structures levels A-B,
* CS 501 -
 
=Admission to MS in Computer Science=
* Persons who complete the appropriate training levels should be able to pass the department's admissions interview for the MS in computer science.  This is not a guarantee, but these training levels are specifically designed to prepare to pass the admissions interview.
 
=Course Credit=
* Those who complete the appropriate package can use their completion of the training program to apply for Prior Learning Assessment for the given course.
* This is for enrolled students only (so after being admitted), students are charged 25% of the tuition of the course for an evaluation, and the evaluation can include an additional "challenge exam".  The challenge exam would be selections from the final interview from the training levels that were completed by the student.
* More details on the process are at https://www.indstate.edu/services/testing/departmental-examsassessment-prior-learning

Revision as of 12:05, 24 June 2025

This page contains some general rules on good writing style in CS courses.

Attribution and File Header

Each file should have comments at the top of the file giving a summary of what the file is. This should include the following elements.

  • Author: your name
  • Contents: what is this file for (e.g., hw 1 cs 500)
  • Date: date handed in
  • Summary: summary of a sentence or few - what does the program do or what is the file about, what changes did you make, etc.
  • Attributions: list of sources you used. If you used AI you need to list the prompts you used, which AI was used, and if possible a link back to the AI's responses. If you discussed with anyone, list their names and the amount of discussion. If anyone looked at your code, you need to list that. If you copy/pasted code from anywhere, you need to indicate that and give a link to where you got it from. If you started with a file from class, you list that as well. If you have no attributions to list, then just put "none".

General Rules

  • Proofreading: you should proofread your work to check for spelling, typos, etc. You should also reorganize as seems appropriate while you proofread: your first draft may be a complete solution, but when reading through it you may see a clearer or more direct way to organize your work.
  • Be concise: be as concise as possible while still giving as much detail as the instructor wants. A general rule is to include a little more detail than the instructor does for in-class examples. An instructor might choose to return your assignment without reading it if it is too long. Being concise is valued in computer science (and in math and the sciences in general).
  • Write for the intended audience: you should generally assume your intended audience is a CS student who has been in the lectures for your course but has not completed the assignment themself. In particular, this means you need to justify your answers and your work and explain it well.
  • Complete sentences: for essays, short answer questions, and proofs you should write in complete sentences using good grammar.
  • Show your work: as mentioned above, you should include as much detail as the instructor does in class. Note that you are being graded on your understanding, not just for finding the correct answer. So you need to be convincing the instructor that you know how to do this problem.
  • Plagiarism: see CS course Policies and additional details in Jeff Kinne Course Policies.
  • Handwriting: if turning in something that is hand written, your handwriting needs to be legible. If you turn in something that is not legible, it may be given a grade of 0.
  • Page/problem order: turn in your work with the problems in the order they were assigned (e.g. 1, 2, 3) to make it easier for the instructor to find your answers to each problem. If scanning in work, make sure the pages are rotated properly in the file.