Difference between revisions of "FAQ"

From Computer Science
Jump to: navigation, search
(How to contact your professors)
(How to contact your professors)
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
== CS 101 versus CS 151 ==  
+
== CS 151 ==  
As indicated in [http://cs.indstate.edu/info/programs.html CS Programs], CS 151 Introduction to Computer Science is required for all concentrations of the CS major, while CS 101 Fundamentals of Computing is required only in the Information Science concentration.
+
As indicated in the undergraduate catalog and on your MySAM, CS 151 Introduction to Computer Science is required for all concentrations of the CS major. It is the first programming course. ECT 130 is required as well, but is more of an overview of different parts of CS/IT/etc.
  
Students self select whether to start in CS 101 or CS 151.  As a rule of thumb, those who have no previous experience with computer science should start in CS 101. CS 151 does not have a prerequisite but does require students to be able to pick up the concepts and skills fairly quickly. If you are unsure you can get in touch with the associate chairperson and/or the instructors for CS 101 and 151.
+
Students take the CS 151 Placement Test to determine whether you can start in CS 151 or not.  As a rule of thumb, those who have no previous experience with computer science should normally wait to take CS 151 after ECT 130. CS 151 has a prereq of either a B- in ECT 130 or CS 101 or passing the CS 151 placement test. Note, however that at this time the placement test is only available for students who have already been admitted to ISU and have their ISU login credentials.  To determine which course you should start in, you do the following.
 +
* ''Current ISU students'' or incoming students with ISU login credentials - take the '''[https://indstate.instructure.com/courses/12565/pages/cs-151-placement-instructions?module_item_id=423662 Computer Science Placement Test]'''.  '''Note for incoming students''' - you will not be able to login to the quizzes until you have registered for a course; once you register for any course at all, you should be able to get into the quizzing system (possibly needing to wait until the next day).  Note that the test is not timed and can be does not need to be completed in one sitting. 
 +
* ''Those without ISU login credentials'' can try the following ''CS 151 challenge''
 +
** Start working your way through the Python tutorial at https://www.learnpython.org/.
 +
** Create an account at https://repl.it/languages/python3 so you can create some python programs and save them online (to share with others).
 +
** Solve the exercises at the end of the first few pages of the learnpython tutorial, and save each one in your repl.it account.
 +
** If you figured things out eventually and enjoyed it, you will likely be okay to start in CS 151 (and are likely to pass the CS 151 placement test when you get a chance to take it).  If you got frustrated at the computer or anything else and gave up, you are likely better off waiting to take CS 151 until after ECT 130.  Note that either is "okay", there isn't a right or better one to start in.  All new ISU CS students will have the chance to take the placement test to help place you in the best first course.
  
Students can complete any of the concentrations by starting in either CS 101 or 151.  Any of the concentrations can be completed in four years by starting in either.  See [[Undergraduate Advising]] for more details on course sequencing.
+
Students can complete any of the concentrations by taking CS 151 in either of their first two terms.  Any of the concentrations can be completed in four years by taking CS 151 in either of the first two terms.  See [[Undergraduate Advising]] for more details on course sequencing.
  
 
== Should you buy your textbooks? ==
 
== Should you buy your textbooks? ==
Line 16: Line 22:
  
 
== How to contact your professors ==
 
== How to contact your professors ==
Check your professor's class schedule (see the schedule of classes linked off the [http://cs.indstate.edu CS homepage]). You can normally catch a professor just before or just after one of their classes, and then ask them when you could come to their office or how they prefer to be contacted. Once the semester starts office hours will be posted outside of each professor's door and at [[ISU CS People]].
+
Check your professor's class schedule (see the schedule of classes linked off the [http://cs.indstate.edu CS homepage]). You can normally catch a professor just before or just after one of their classes, and then ask them when you could come to their office or how they prefer to be contacted. Once the semester starts office hours should be in the syllabus for each course.
  
 
== Why are you Here? ==
 
== Why are you Here? ==
Line 22: Line 28:
  
 
== Programming and Linux ==
 
== Programming and Linux ==
Many professors (Exoo, Sternfeld, Baker, Kinne) require students to turn in assignments on the CS server. For these courses you will be given an account for the course, and will do all your programming assignments for the course on the CS server with your class account. To be counted as correct, in these courses your program must compile and run on the CS server. See the Getting Started page linked off the CS homepage for help in getting started on the CS machines.
+
Many professors (Exoo, Sternfeld, Baker, Kinne) require students to turn in assignments on the CS server. For these courses you will be given an account for the course, and will do all your programming assignments for the course on the CS server with your class account. To be counted as correct, in these courses your program must compile and run on the CS server. See [[Programming and CS - Getting Started]] for help in getting started on the CS machines.
  
 
== Planning Ahead ==
 
== Planning Ahead ==
Line 30: Line 36:
  
 
== On Campus Jobs ==
 
== On Campus Jobs ==
You can view available on-campus jobs by visiting [http://jobs.indstate.edu/] and clicking on the appropriate category for you. Make sure to check back regularly because jobs might not all be posted by the beginning of the semester. To apply for a position, you need to apply online; it will normally not do you any good to contact the department in person as well. Make sure to submit all documents that are asked for (e.g., resume, transcripts, cover letter). A cover letter should briefly explain your background and interests, and indicate enthusiasm for the position you are applying for. For the resume, you can find examples online to get ideas for the appropriate format and contents; as a general philosophy, you should be very positive about yourself, but do not ever lie (e.g., do not say you know Java if you do not). For additional help in writing your resume and cover letter, you can contact the Career Center or more senior CS students.
+
You can view available on-campus jobs by visiting [http://jobs.indstate.edu/] and clicking on the appropriate category for you. Make sure to check back regularly because jobs might not all be posted by the beginning of the semester. To apply for a position, you need to apply online; it will normally not do you any good to contact the department in person as well. Make sure to submit all documents that are asked for (e.g., resume, transcripts, cover letter). A cover letter should briefly explain your background and interests, and indicate enthusiasm for the position you are applying for. For the resume, see [[Careers]] for advice and you can find examples online to get ideas for the appropriate format and contents; as a general philosophy, you should be very positive about yourself, but do not ever lie (e.g., do not say you know Java if you do not). For additional help in writing your resume and cover letter, you can contact the Career Center or more senior CS students (e.g., lab assistants who are currently on duty in the lab).
  
Note for new students. The application system asks you to list some number of references. You can list professors who you will have in class or the associate chairperson of CS, but they will not be able to say much about you other than what they might know from your transcript. It is better to list a reference that knows you (possibly someone you had in previous studies or work). Once you have been in class long enough to have had some assignments or exams graded, the professors you have in class might able to give more support in a recommendation for you. And always check with someone before listing them as a reference.
+
Note for new students. The application system asks you to list some number of references. You can list professors who you will have in class or your advisor, but they will not be able to say much about you other than what they might know from your transcript. It is better to list a reference that knows you (possibly someone you had in previous studies or work). Once you have been in class long enough to have had some assignments or exams graded, the professors you have in class might able to give more support in a recommendation for you. And always check with someone before listing them as a reference.
  
== Knocking on Doors ==
+
== Programming Assessment ==
If you knock on a door and there is no answer, DO NOT try to open the door. This is considered to be very rude.
+
See [[Programming Assessment]]
 
 
If you decide to be rude and try to open the door and find nobody is in the office, DO NOT go inside and start looking through things in the office. This is considered trespassing (a crime).
 
 
 
If you are around long enough and interact with enough people, you will see some strange things.
 
 
 
== Programming Assessment - How to Make Sure You'll Pass ==
 
Come to all review sessions that are offered when you are free.
 
Take the assessment each time it is offered. You don't really know what it will be like until you try to take it for real. Any failed attempts do not count against you.
 
Pick a problem type that is easiest for you, and practice just that type of problem. Visit the lab and ask the GAs to take a look at what you have. Come ask myself, Steve Baker, or Geoff Exoo to take a look. Once you have that problem type mastered, pick the next easiest for you.
 
Follow tutorials online for C programming (not C++, this is in C). Watch videos. There are many options to choose from.
 
Form a study group with others in your class, work on problems together and help each other out (not during the test itself, of course).
 
 
 
== Programming Assessment - What if You Cannot Pass it ==
 
The policy will be enforced, you will be given an incomplete with a due date of the first day of the spring semester, you would be given one last chance to take the assessment before the grade becomes the default (F for 685, 695, 699, C for 500 [assume there isn't some other reason you would get an F], C- or lower for 202, U for 499).
 
 
 
The policy is the following: for CS 499, 685, 695, 699 you must pass the assessment to pass the class, for CS 202 you need to pass the assessment to get at least a C, and for CS 500 you need to pass the assessment to get higher than a C. Note that for all of those, there could be other reasons to earn a low final grade (e.g., even if you pass the assessment, if you fail your exams, don't come to class, etc. you would be given the grade you earned based on your coursework). The assessment is given multiple times per semester. You need to take this seriously and follow the above advice.
 
 
 
== Programming Assessment - Why ==
 
A computer science degree is different than information technology, computer information systems, and other degrees that are computing-related. A person with a CS degree should have many useful and important skills and knowledge - programming, problem solving, how computer systems work, debugging techniques, abstract thinking, etc. If we were to pick one single skill a CS graduate should have, it is to have mastered basic programming (which does require a bit of problem solving, debugging, abstract thinking, etc.).
 
 
 
The programming assessment is a single well-defined objective that all CS faculty can agree all graduating CS students should be able to pass. This is a minimum standard that we expect of all of our graduates. Enforcing this standard is good for students because - (a) it clearly communicates expectations, and (b) allows students and faculty to say that uniformly any ISU CS graduate can do basic programming.
 
 
 
== Programming Assessment - Grading ==
 
The programming assessment is graded very strictly so that there are no judgement calls in grading it - answers are only scored as correct if they are free from any kind of error, and are only scored as half correct if your answer has (i) the right start and (ii) does not have anything that makes little sense or clearly conveys that you are not on the right track. Passing the assessment is only meaningful if it is scored this way - when you pass we can say with 0 doubt that you mastered these problems. This also removes subjectivity from the scoring.
 
 
 
We realize this grading is strict, so we do everything possible to get you ready for the assessment. The assessment is offered multiple times throughout the semester, failed attempts do not count against you, programming review sessions are offered most weeks, faculty will give you feedback on your attempts any time you ask, and the unix lab is open 34 hours per week with a lab assistant on duty who can help you practice. Take advantage of all of this as needed.
 

Latest revision as of 01:26, 10 August 2024

CS 151

As indicated in the undergraduate catalog and on your MySAM, CS 151 Introduction to Computer Science is required for all concentrations of the CS major. It is the first programming course. ECT 130 is required as well, but is more of an overview of different parts of CS/IT/etc.

Students take the CS 151 Placement Test to determine whether you can start in CS 151 or not. As a rule of thumb, those who have no previous experience with computer science should normally wait to take CS 151 after ECT 130. CS 151 has a prereq of either a B- in ECT 130 or CS 101 or passing the CS 151 placement test. Note, however that at this time the placement test is only available for students who have already been admitted to ISU and have their ISU login credentials. To determine which course you should start in, you do the following.

  • Current ISU students or incoming students with ISU login credentials - take the Computer Science Placement Test. Note for incoming students - you will not be able to login to the quizzes until you have registered for a course; once you register for any course at all, you should be able to get into the quizzing system (possibly needing to wait until the next day). Note that the test is not timed and can be does not need to be completed in one sitting.
  • Those without ISU login credentials can try the following CS 151 challenge
    • Start working your way through the Python tutorial at https://www.learnpython.org/.
    • Create an account at https://repl.it/languages/python3 so you can create some python programs and save them online (to share with others).
    • Solve the exercises at the end of the first few pages of the learnpython tutorial, and save each one in your repl.it account.
    • If you figured things out eventually and enjoyed it, you will likely be okay to start in CS 151 (and are likely to pass the CS 151 placement test when you get a chance to take it). If you got frustrated at the computer or anything else and gave up, you are likely better off waiting to take CS 151 until after ECT 130. Note that either is "okay", there isn't a right or better one to start in. All new ISU CS students will have the chance to take the placement test to help place you in the best first course.

Students can complete any of the concentrations by taking CS 151 in either of their first two terms. Any of the concentrations can be completed in four years by taking CS 151 in either of the first two terms. See Undergraduate Advising for more details on course sequencing.

Should you buy your textbooks?

Find a copy for a reasoanble price, and yes, purchase it. You will be more likely to actually read it if you have a copy (rather than trying to borrow a copy or something). If you are getting a CS degree you should want to learn the course content. Also, not everything you need to know is covered in lecture (there just isn't enough time), and it's up to you to fill in the gaps.

Positions in the department

We consider all CS students whenever we have an opening. The most important qualities we consider are how well you do in your courses (are you one of the top few students?), how responsible and hard-working you are, and how well you communicate and interact with others.

Finding information at ISU

Think of what the department might be called, and try going to ISU A-Z and searching using the browser's search option (ctrl-f). Also, see [1] for undergrads, and [2] (and click on Current Students) grad students.

How to contact your professors

Check your professor's class schedule (see the schedule of classes linked off the CS homepage). You can normally catch a professor just before or just after one of their classes, and then ask them when you could come to their office or how they prefer to be contacted. Once the semester starts office hours should be in the syllabus for each course.

Why are you Here?

Ask yourself why you are paying ISU thousands of dollars for a degree? Presumably because you are interested in CS and also want to get a job in CS after graduating. This will only happen (getting a job in CS) if you take your courses seriously and put your full effort in. Weak students who do not do their best, or try to get others to to their work, have little success in securing good jobs after graduating.

Programming and Linux

Many professors (Exoo, Sternfeld, Baker, Kinne) require students to turn in assignments on the CS server. For these courses you will be given an account for the course, and will do all your programming assignments for the course on the CS server with your class account. To be counted as correct, in these courses your program must compile and run on the CS server. See Programming and CS - Getting Started for help in getting started on the CS machines.

Planning Ahead

You should begin to think about applying for jobs at least one year before you will do so. If you wait until you graduate to think about how to get a job after graduation, you will not be as successful. Some of our graduates have decided to complete an industry certification program (e.g., from Microsoft, Oracle, or Cisco) to increase their chances of getting a job after graduation; we have been told this can take about one year from when you begin.

For both on campus jobs and jobs after graduation, you wil benefit by doing well in your classes - (i) doing well better prepares you, (ii) having a higher GPA looks better to prospective employers, and (iii) your professors can give you good recommendation letters if you have done well in their classes. It really does pay off to do your best in your classes.

On Campus Jobs

You can view available on-campus jobs by visiting [3] and clicking on the appropriate category for you. Make sure to check back regularly because jobs might not all be posted by the beginning of the semester. To apply for a position, you need to apply online; it will normally not do you any good to contact the department in person as well. Make sure to submit all documents that are asked for (e.g., resume, transcripts, cover letter). A cover letter should briefly explain your background and interests, and indicate enthusiasm for the position you are applying for. For the resume, see Careers for advice and you can find examples online to get ideas for the appropriate format and contents; as a general philosophy, you should be very positive about yourself, but do not ever lie (e.g., do not say you know Java if you do not). For additional help in writing your resume and cover letter, you can contact the Career Center or more senior CS students (e.g., lab assistants who are currently on duty in the lab).

Note for new students. The application system asks you to list some number of references. You can list professors who you will have in class or your advisor, but they will not be able to say much about you other than what they might know from your transcript. It is better to list a reference that knows you (possibly someone you had in previous studies or work). Once you have been in class long enough to have had some assignments or exams graded, the professors you have in class might able to give more support in a recommendation for you. And always check with someone before listing them as a reference.

Programming Assessment

See Programming Assessment