Difference between revisions of "CS 151 - Key Skills"

From Computer Science
Jump to: navigation, search
(Example Quiz)
(Assessment of Prior Learning)
Line 32: Line 32:
  
 
=Assessment of Prior Learning=
 
=Assessment of Prior Learning=
For those who have the skills and knowledge from the course but have not taken the course, it may be possible to be evaluated, pay a reduced tuition amount, and get credit for the course. This would be done through a challenge exam. See this form -  
+
For those who have the skills and knowledge detailed on this page but have not taken the course CS 151 (and do not have transfer credit for an equivalent course), it may be possible to be evaluated, pay a reduced tuition amount, and get credit for the course. This would be done through a challenge exam. See this form -  
 
https://www.indstate.edu/sites/default/files/media/documents/pdf/assessment-prior-learning-testing.pdf
 
https://www.indstate.edu/sites/default/files/media/documents/pdf/assessment-prior-learning-testing.pdf

Revision as of 19:19, 13 July 2022

The following are key skills/knowledge that you need to retain after completing CS 151 Introduction to Computer Science. For any course that has CS 151 as a prerequisite, we will assume that on day one of the new course you could "ace" a quiz on all of the following content. This is the most important content to be ready for the next courses. See also CS Skills Assessments for other courses as well.

Note - this list is a first draft and is being reviewed by the faculty.

Key Skills/Knowledge

Linux

All commands and shortcuts listed in and linked from Linux and CS Systems - Getting Started. You should be able to (a) match each command and shortcut with its basic description, (b) use all of the commands and shortcuts to accomplish basic tasks (e.g., create a new directory HW in your home directory and copy all files from ~cs151/HW/ into your new HW directory), (c) describe what a given command would do (e.g., ls -l /u1/class/).

Programming

  • Python cheat sheets listed at the end of Python Programming - Getting Started. You should be able to give the short description given any of the keywords, function names, or operators (and vice versa).
  • Basic programs - able to complete the programs listed in Programming Assignments - Beginning 1 on demand without much trouble and without consulting the internet. You should be able to produce a correct program for any of these in a short amount of time (right away for many of them, for most of the others you might need a little bit of time). You should be able to do this on paper or on the computer. You should be able to do the same for other programming tasks of similar difficulty.
  • Complete the missing code - if given mostly complete code to accomplish a task that is roughly as complex as those programs, you are able to complete the code (e.g., filling in the right condition on a loop, the right statement to update a variable, anything that is just one line or so).
  • Play computer - given code you are able to trace out what happens to the variables and what is printed on the screen as the program is run.
  • Syntax errors - given code that contains a syntax error you are able to identify and fix the syntax error (e.g., mismatched (), using [] where should have been (), improper indenting, missing :, mis-spelled or mis-capitalized python keyword or function, etc.)
  • Logical errors - given code with some logical error(s) and a description of what the program is supposed to do, you are able to debug to fix the problems.

Math

You should have all of the items in Math for CS - Getting Started memorized and be able to apply them as needed.

CS Terms

You should have all of the items in CS Terms - Getting Started memorized.

System Setup

You have access to a computer that is setup as directed in Linux and CS Systems - Getting Started. In particular you should have Python installed, an sftp program installed (FileZilla or WinSCP recommended), and a terminal program installed (Putty if using Windows, Terminal if using Mac).

Algorithms Basics

You should understand how the following algorithms work, be able to trace through running the algorithm on paper, and understand the time complexity of the algorithm (worst and best-case): linear search, binary search, selection sort. You should understand the basics of asymptotic running time notation and concepts. An understanding at the level covered at [TutorialsPoint](https://www.tutorialspoint.com/data_structures_algorithms/index.htm) is all that is required (and note that you only need to know these particular topics, not everything from the TutorialsPoint link).

Example Quiz

Note that the following example quiz contains questions from most, but not all, of the topics listed above.

CS 151 - Key Skills - Quiz

Assessment of Prior Learning

For those who have the skills and knowledge detailed on this page but have not taken the course CS 151 (and do not have transfer credit for an equivalent course), it may be possible to be evaluated, pay a reduced tuition amount, and get credit for the course. This would be done through a challenge exam. See this form - https://www.indstate.edu/sites/default/files/media/documents/pdf/assessment-prior-learning-testing.pdf