WhichIntroCourse - middcs/csinfo GitHub Wiki
Which intro course should I take?
So you're convinced these computer things will probably be around for a while and it might be helpful to learn you some computer science. Great! But then you check out the course catalog and there are four different introductory courses and it's difficult to tell which one suits you best. If that is your boggle, read on.
To review, the catalog lists five different 100-level courses:
- CSCI 0105: Algorithmic World
- CSCI 0110: Programming through Simulation
- CSCI 0145: Introduction to Computing
- CSCI 0146: Intensive Introduction to Computing
- CSCI 0150: Computing for the Sciences (still on the books, but no longer offered)
Non-major classes (CSCI 105, CSCI 110)
CSCI 0105 and CSCI 0110 are non-major courses and are offered when we feel there is sufficient demand and available staffing, so they will not always be options.
They are intended for students who have no prior computer science experience and just want a taste of what computer science is. The '''do not''' count for either the major or the minor. What if you get excited about CS and want to actually pursue a major or a minor? That's great! We hope some of you will catch the bug. The next step would then be 146 (or 145 if 146 is not offered when you would like to take it).
105 and 110 have quite different focuses.
105 is intended to be a very broad computer science taster. We learn some basic programming and apply it to all sorts of things like drawing, image editing, sound manipulation, data processing, simulation, and visualization, and games. We also spend a good portion of the class talking about how algorithms are impacting our lives.
110 is also a good starting place, but it is focused specifically on simulation. This is great for students interesting in domains that do a lot of modeling, like environmental studies, biology, economics, or the social sciences.
Major Classes (CSCI 145, CSCI 146)
CSCI 0145 and CSCI 0146 are both entry points to the major (or minor).
Both of these courses will:
- give you a broad introduction to the field of computer science
- prepare you to take further courses within the department and
- serve as a solid foundation for a CS major, a CS minor, or an interested cross-disciplinarian.
CSCI 0146 is intended for students who have seen a little CS or programming before but not so much that they are ready for CSCI 0201 and are ready to jump in to the thick of things a little faster.
Examples include:
- a class in HS that wasn't AP Computer Science
- AP Computer Science Principles
- one of the non-majors courses
- a data science course like STAT 0118 (Introduction to Data Science) or XXXX 1230 (Data Science Across the Disciplines)
- informal study of programming (books, YouTube videos, etc...)
If in doubt about which one to take, ask a member of the CS faculty.