CS Programs and Computer Science Placement: Difference between pages

From Computer Science at Indiana State University
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
==Major in Computer Science?==
This page contains information about placement for computer science courses.  For incoming students who have some previous computer science coursework, this page contains information about placing into the appropriate first CS course at ISU.
Computer Science is a great major - there are many well-paying jobs, you can work in many different fields, and the work can be very interesting.  You likely will not be sure if Computer Science is the right field for you until after you have done your first 1-2 courses that require a large amount of programming.  So you should begin by signing up for the first course in the CS major. You can also check the [https://cs.indstate.edu/info/files/CS-flyer-and-advice.pdf CS Flyer and Advice].


==Accelerated 4+1 BS and MS==
For transfer students, evaluating transfer credit is separate from the placement process. Transfer credit is given based on the syllabus and course description of the course taken elsewhere, and this transfer credit can satisfy prerequisites to allow you to register for later CS courses. You still need to take the CS placement so that we know if you are really ready for the later courses; if not, then you will have some catching up to do and should talk with your advisor to plan how to do this.
For undergrads with a 3.0 GPA, at least 90 credits (including the current term), and in their 4th to last term before graduating, you may qualify for the accelerated 4+1 BS + MS degree program. This allows you to take some graduate courses during your last 3 terms year as an undergraduate, and then complete the CS MS with 1 additional year of graduate study. Some additional details and rules are listed [https://catalog.indstate.edu/preview_program.php?catoid=57&poid=11135&returnto=2942 in the graduate catalog]. You would be able to register for up to 9 credits of 500 level courses that can count towards both the BS and MS, and up to 6 credits of 600 level courses that would only count towards the MS (but could be taken during your last 3 terms of undergraduate study). If you are interested you can get in touch with your major advisor. If you meet the minimum requirements, you would apply for the CS MS to start the term after you finish your BS degree, and you would complete the Accelerated Program Application (at the [https://sycamoresindstate.sharepoint.com/sites/STU-Registrar/SitePages/Graduate-Studies.aspx Graduate Studies] page) with your advisor.


==Undergraduate Programs==
= Course Prerequisite Knowledge/Skills =
The requirements for the CS major, CS minor, CS teaching minoor, and certificate in applied CS (that can be earned by non-degree students) are listed in the undergraduate catalog.  The major includes the following concentrations - Computing Science (more focus on theory and systems), Data Science, Information Science (more focus on applications).  Once you declare the major or minor you should see the requirements in your MySAM.


To see the requirements for the major, you can check the [https://catalog.indstate.edu/index.php Undergraduate Catalog] - click on "Academic Programs" and then find the program you are looking for - Computer Science Major, Computer Science Minor, Computer Science Teaching Minor, or Applied Computer Science Certificate.  
==ECT 130 Introduction to Electronics and Computer Technology==
This course has no prerequisites. The main goals are to (a) give students practical understanding of computing to become well-informed citizens and professionals in the computing age, (b) have students become familiar with using the Linux operating system, installing and using a programming language, and beginning to program in Python.


See '''graphical overview''' of the BS (with prereqs and required courses) - '''[https://docs.google.com/drawings/d/1Rfav0yzAcbAlarNgqksXUuhXicmXH_m--Uqir7w9Y1k/edit if you start in fall 2024 or after]''', '''[https://docs.google.com/drawings/d/1qlwH-zRga42O3jIYn6PeP8jbRKGQQV_URTIVUF4-CBU/edit?usp=sharing if you started before fall 2024]'''.
==CS 151 Introduction to Computer Science==
This course also does not have a prerequisite, but it is more focused and faster paced than ECT 130. CS 151 is a full semester of programming in Python. It is recommended to take both ECT 130 and CS 151 your first semester if you have room in your schedule. If you do not, then you should take ECT 130 your first term, and then CS 151 your second term.  


'''Other Courses, Sequence of Courses'''  
Why should you take CS 151 sooner than later? As the first course with a lot of programming, it helps you confirm whether CS is the major you want (versus IT or something else), and it also gets you the programming skills needed to apply for internships in CS.
For advice on which other courses to take and which order to take the courses in, see [[Undergraduate Advising]] and
the "CS BS" sheet in '''[https://docs.google.com/spreadsheets/d/1mBt7E5r35rLXG5Ith0SjUMHiHmUtxH58v_ZOvt3bjvA/edit#gid=1748557442 CS Course Sequences ]'''.


'''Related majors/minors''' -  Computer and Electrical Engineering Technology, Information Technology, Mathematics, Cyber & Security Studies, General Studies. See these in the list of undergraduate programs in the undergraduate catalog.
==CS 201 Programming Structures==
The prerequisite for CS 201 is a C or better in CS 151.  The following are the most important prerequisite skills and knowledge gained in CS 151 -
* Ability to use the Linux terminal and the CS server.
* Beginning knowledge of algorithms, the parts of a computer, and a few other non-programming basic CS topics.
* ''Competent'' programmer in Python, including use of modules and appropriate use of Python containers (lists, dictionaries, tuples)
* ''Competent'' user of your own computer (installing programs, etc.) and the linux terminal
Note that Python is a prerequisite for this course, so transfer students with credit for CS 151 but without experience in Python need to work independently to get up to speed with Python ''before'' the term starts.


==Graduate Programs==
For transfer students who have transfer credit for CS 151, you will be able to register for CS 201. To determine whether you are really ready, we also have a placement test for CS 201. Ask your advisor to arrange for you to take this test.
The requirements for the CS MS are listed in the [https://catalog.indstate.edu/index.php Graduate Catalog] - click on "Programs" on the menu on the right, and then find Computer Science M.S. (or Computer Science (Accelerated M.S.) for undergrads doing the 4+1 accelerated program). We offer the following concentrations - Academic, Bioinformatics, Data Science, Professional.  


To see the requirements for the major, you can check the Graduate Catalog.
==CS 302 Data Structures and Algorithms==
C or better in CS 201 and CS 203.  Prerequisite skills and knowledge -
* CS 201 prerequisite skills/knowledge
* ''Proficient'' programmer in Python, including object-oriented programming and experience developing (and debugging and testing) larger programs independently
* Understanding of basic data structures (array, linked list, trees) and sorting/searching


For a '''graphical overview''' of the required courses in the major, see '''[https://docs.google.com/drawings/d/1tFNux0jIVIsThe7waIxzfPdi_pu-Yd5ZmJRibkn6YGY/edit?usp=sharing CS MS graphical overview ]'''.
==CS 500 Programming Fundamentals==
Prerequisite skills and knowledge -
* ''Competent programmer'' in some programming language
* Able to troubleshoot and learn a programming language on one's own using online resources
* Understanding of basic data structures (arrays, linked lists, binary search trees, hash tables, etc.)


'''Other Courses, Sequence of Courses'''   For advice on which other courses to take and which order to take the courses in, see [[Graduate Advising]] and the "CS MS" sheet in '''[https://docs.google.com/spreadsheets/d/1mBt7E5r35rLXG5Ith0SjUMHiHmUtxH58v_ZOvt3bjvA/edit#gid=1748557442 CS Course Sequences]'''.
==CS 501 Programming for Data Science==
Prerequisite skills and knowledge -
Prerequisite skills and knowledge -
* ''Competent'' programmer in some programming language
* Able to troubleshoot and learn a programming language on one's own using online resources
* Understanding of basic data structures (arrays, linked lists, binary search trees, hash tables, etc.)


'''Concentrations''' The current concentrations for the CS Graduate program are Academic, Bioinformatics, Data Science, Professional. New graduate students are typically put into the Professional Concentration by default. The professional concentration is more flexible and geared towards skills and applications. See the Graduate Catalog for more on the different concentrations.


'''Related Degrees''' - Biology, Business MBA, ECET/IT MS IT concentration, Math. See these in the Graduate Catalog.
 
* CS 501
** CS 151, 201, 202 tasks/questions (except they can use any language)
** Questions on: data structures

Revision as of 17:32, 22 May 2026

This page contains information about placement for computer science courses. For incoming students who have some previous computer science coursework, this page contains information about placing into the appropriate first CS course at ISU.

For transfer students, evaluating transfer credit is separate from the placement process. Transfer credit is given based on the syllabus and course description of the course taken elsewhere, and this transfer credit can satisfy prerequisites to allow you to register for later CS courses. You still need to take the CS placement so that we know if you are really ready for the later courses; if not, then you will have some catching up to do and should talk with your advisor to plan how to do this.

Course Prerequisite Knowledge/Skills

ECT 130 Introduction to Electronics and Computer Technology

This course has no prerequisites. The main goals are to (a) give students practical understanding of computing to become well-informed citizens and professionals in the computing age, (b) have students become familiar with using the Linux operating system, installing and using a programming language, and beginning to program in Python.

CS 151 Introduction to Computer Science

This course also does not have a prerequisite, but it is more focused and faster paced than ECT 130. CS 151 is a full semester of programming in Python. It is recommended to take both ECT 130 and CS 151 your first semester if you have room in your schedule. If you do not, then you should take ECT 130 your first term, and then CS 151 your second term.

Why should you take CS 151 sooner than later? As the first course with a lot of programming, it helps you confirm whether CS is the major you want (versus IT or something else), and it also gets you the programming skills needed to apply for internships in CS.

CS 201 Programming Structures

The prerequisite for CS 201 is a C or better in CS 151. The following are the most important prerequisite skills and knowledge gained in CS 151 -

  • Ability to use the Linux terminal and the CS server.
  • Beginning knowledge of algorithms, the parts of a computer, and a few other non-programming basic CS topics.
  • Competent programmer in Python, including use of modules and appropriate use of Python containers (lists, dictionaries, tuples)
  • Competent user of your own computer (installing programs, etc.) and the linux terminal

Note that Python is a prerequisite for this course, so transfer students with credit for CS 151 but without experience in Python need to work independently to get up to speed with Python before the term starts.

For transfer students who have transfer credit for CS 151, you will be able to register for CS 201. To determine whether you are really ready, we also have a placement test for CS 201. Ask your advisor to arrange for you to take this test.

CS 302 Data Structures and Algorithms

C or better in CS 201 and CS 203. Prerequisite skills and knowledge -

  • CS 201 prerequisite skills/knowledge
  • Proficient programmer in Python, including object-oriented programming and experience developing (and debugging and testing) larger programs independently
  • Understanding of basic data structures (array, linked list, trees) and sorting/searching

CS 500 Programming Fundamentals

Prerequisite skills and knowledge -

  • Competent programmer in some programming language
  • Able to troubleshoot and learn a programming language on one's own using online resources
  • Understanding of basic data structures (arrays, linked lists, binary search trees, hash tables, etc.)

CS 501 Programming for Data Science

Prerequisite skills and knowledge - Prerequisite skills and knowledge -

  • Competent programmer in some programming language
  • Able to troubleshoot and learn a programming language on one's own using online resources
  • Understanding of basic data structures (arrays, linked lists, binary search trees, hash tables, etc.)


  • CS 501
    • CS 151, 201, 202 tasks/questions (except they can use any language)
    • Questions on: data structures