Back to Bo Sheng's homepage

Undergraduate Program FAQ

Answers to the questions students ask me most often about the Computer Science major: how the degree fits together, what order to take things in, and where to go when something goes wrong. If your question isn't here, email me.

Bo Sheng · Undergraduate Program Director · Department of Computer Science

BS or BA?

Both are real Computer Science degrees with the same foundation. The BS is the more technical and more structured of the two, and it's what most of our students do.

BS in Computer Science

The default choice · ABET-accredited

Math
Math140, 141, 260, 345
Science
Physics113/181 and Physics114/182
Electives
Two CS electives
Best if you want
Software or systems engineering, or graduate school
Full BS requirements →

BA in Computer Science

More flexible · room for a second field

Math
Math140, 141, 260
Science
No physics sequence required
Language
Elementary foreign language proficiency, typically a 102-level course
Electives
Two applied (one must be CS444 or CS451, serving as capstone), one theoretical, plus one more
Best if you want
CS alongside a humanities focus or a second major
Full BA requirements →

Both degrees also require 120 total credits, at least 30 of them taken at UMass Boston, a 2.0 GPA in the major and a 2.0 overall, and at least six 300-, 400-, or 600-level CS or Math courses completed here. There are no exceptions to any of those. The BS requirements shown above apply to students who declared in Spring 2023 or later.

Sample Schedules

The College of Science and Mathematics Student Success Center maintains semester-by-semester plans to graduation for both degrees. Start from these when you're mapping out your years, then adjust with your advisor.

These are samples. Your own path will differ based on transfer credit, placement, and how many courses you take per semester. That's fine, as long as you don't break the sequencing rules below.

Course Sequencing Rules

This is the rule most likely to cost you credit you've already earned, and it's the one students most often haven't heard of. Please read it once, carefully.

Sequencing is stronger than a prerequisite

If two courses are in sequence and you earn credit for the earlier course after the later one, you lose the credit for the earlier course. For example, a student who takes CS 310 and then, in a later semester, takes CS 210 loses the CS 210 credit.

The five CS sequences

A prerequisite alone doesn't do this

CS 310 is a prerequisite for CS 444, but the two are not in sequence. So a student who takes CS 444 and then CS 310 later keeps the CS 444 credit. Still a bad idea, but not a credit-losing one.

Same semester is not a loophole

You can take two consecutive sequenced courses in the same semester without breaking the rule, because the later credit isn't received strictly before the earlier one. That's a technicality rather than a plan. I strongly recommend against it, especially for the early courses.

1

Introductory courses

CS 110 and CS/IT 115L are listed in both directions, which looks odd until you know the history: CS 110 was once offered as a split pair (114L + 115L) for students who wanted to take it more slowly. They cover the same ground, so whichever you take second is the one whose credit is lost. Treat them as alternatives, not as two courses you can stack.

2

The core CS chain

This is the long one, and the one that catches the most students. CS 110 → CS 210 → CS 310 → CS 410 is common to every version of the chain.

3

CS 240 → CS 341 → CS 444

4

CS 220 → CS 420

5

CS 109 → CS 240

How a violation plays out, and how you are warned

WISER will not stop you

WISER does not block a registration that violates a sequencing rule. It is your responsibility to make sure no violation occurs. If you're unsure whether a plan is safe, ask before you register. The fix afterward is much harder, and in most cases there isn't one.

Nothing stops you at registration, but you are warned, and the penalty is applied automatically at the end of the semester. Here's the sequence of events in a real case.

  1. 1

    You register. Nothing happens.

    WISER accepts the registration without complaint. This is the step that fools people into thinking it's fine.

  2. 2

    Your degree audit flags it, immediately.

    The degree audit report shows a message that this is an illegal repeat of a course, and that message stays there all semester. This is your warning. If you see it, act on it while you can still drop the course.

  3. 3

    The grade posts, and the credit is zeroed.

    Once grades are in, the sequence limitation is applied and the credits and grade are reduced to zero. You did the work and it counts for nothing: not toward credit, not toward GPA. This is the rule working as designed, not an error to appeal.

The part that stings: retaking for a better grade

Students in this situation are usually retaking a course to improve a grade, and the second attempt is usually the better one. It doesn't matter. If the retake violates a sequencing rule, that improved grade cannot be the one that counts for credit or GPA. Before you register to repeat any CS course, check it against the sequences above.

Math and Physics have their own sequencing rules, so consult those departments directly. The university-wide policy is on the Registrar's sequencing policies page.

Prerequisite Map

Every undergraduate CS course and what it depends on, with each box linking to the department's course page. The shape is worth a look on its own: almost everything in the major funnels through CS310, which is why finishing that one on schedule matters more than any other single decision.

The department also maintains an interactive prerequisite chart that covers every program and lets you switch between them. Use that one if you're looking at the BA, the minor, or the IT courses.

Show the prerequisite map
Required for the BS Elective Alternate entry point

What this diagram does and doesn't show

  • CS prerequisites only. Math and Physics prerequisites are real and enforced, but drawing them would triple the size of this map. Hover a box to see the full catalog wording, including the math.
  • A prerequisite is not a sequence. These arrows show what you need before a course. Only the chains in the sequencing section carry the credit-loss rule.
  • Permission-only courses are left out (independent study, special topics, practicum, honors thesis, the gateway seminars), since their prerequisite is a conversation rather than a course.
  • CS240: The catalog lists CS 110 or CS/IT 115L; CS 109 also leads into CS 240 under the sequencing rules.
  • CS341: The CS341 page lists no prerequisite; CS 240 is taken from the CS341L listing and the department sequencing rules.
  • CS436: The catalog also lists CS 430, which does not currently appear in the department course list.
  • CS437: The catalog also lists CS 430, which does not currently appear in the department course list.

Built from the department's course pages. Always confirm against the official course list before you register.

Questions Students Actually Ask

Just Getting Started

You're new, or thinking about switching into CS.

I've never written a line of code. Am I already behind?
No. CS110 assumes no prior programming experience, and every year a large share of our majors start there having never programmed. Students who arrive with some coding background sometimes look faster in the first few weeks, but that gap closes quickly, and by CS210 it's mostly gone. What actually predicts success is steady weekly practice and asking for help early, not what you knew in September.
How do I declare the CS major?
You submit the Program Add/Change Form, the one labeled Change of Major/Minor/College, through DocuSign. It's on the Registrar's undergraduate forms page, and the same form handles declaring a minor, a track, or a concentration. Most forms process in a few business days, though it takes longer if you submit during add/drop.

It does not happen automatically when you take CS110, and that trips people up. Declare sooner rather than later: being declared is what assigns you advisors and puts you in the department's planning. If you're unsure whether it's the right move yet, email me first and we'll talk it through.
Should I do the BS or the BA?
Short version: the BS is the default choice, and it's the one most of our students do. It's the more technical, more structured degree, with the full math and physics sequence, and it's the ABET-accredited path. The BA covers the same computer science foundation but trades the physics sequence and some of the required upper-level systems courses for more flexibility, which suits students pairing CS with a second major or a strong humanities interest. If you want to work as a software or systems engineer, or you're considering graduate school, do the BS. See the side-by-side comparison below.
Can I switch from the BA to the BS later, or the other way?
Yes, and students do. The two degrees share the same first two years almost entirely (CS110, CS210, CS220, CS240, Math140, Math141), so switching early costs you essentially nothing. Switching gets more expensive after that, mainly because the BS physics sequence takes four semesters to work through. If you're on the fence, take the shared courses and decide by the end of your second year.
What if I'm transferring in from a community college?
Two rules decide most of it, and neither has exceptions. Courses from two-year institutions can only transfer as 100- or 200-level courses, never as 300-level or above. That's a university rule, not a department preference. And we only transfer grades of C- and up.

So your community college work can cover the early part of the major, but the upper-level courses have to be taken here. That lines up with the residency rule anyway: at least six 300-, 400-, or 600-level CS or Math courses must be completed at UMass Boston.

Transfer credit for the major comes to me, and the evaluation is based on the course syllabus, which you need to provide. A transcript alone isn't enough. For some courses I'll consult the faculty member who teaches our version before deciding, and anything in math or physics goes to that department, so allow time for it. You can look up likely matches yourself on transferology.com, which is the database we generally follow.
Is there a CS minor, or a certificate?
Both. The CS minor is the usual choice if you're majoring in something else and want CS alongside it. The certificate program is aimed at people who already hold a bachelor's degree in another field. The two are nearly identical in content, so if you're a current undergraduate, take the minor. I advise all certificate students, so email me if you're weighing it.

Degree Requirements

What you actually have to finish. These apply to students who declared Spring 2023 or later.

What does the BS require, all in one place?
Core CS: CS110, CS210, CS220, CS240, CS285L, CS310, CS341, CS410 (capstone), CS420, CS444, CS446, CS449, and CS451 or CS651.

Math: Math140, Math141, Math260, Math345.

Science: Physics113 + Physics181, and Physics114 + Physics182 (lecture and lab pairs).

Electives: two CS electives from the department's approved list.

You also need a C average (2.0 GPA) across all of the above, and at least six of your 300-/400-/600-level CS or Math courses must be taken here. Full details are on the department's BS page.
What counts as a CS elective?
Quite a lot, which is the point. This is where you specialize. The approved list includes CS411, CS430, CS433, CS436, CS437, CS438, CS442, CS443, CS450, CS460, CS461, CS470, and a range of 600-level courses (CS615, CS620, CS622, CS624, CS630, CS634, CS636, CS637, CS638, CS642, CS644, CS646, CS648, CS651, CS670, CS671, CS675, CS680). Pick them as a cluster rather than at random: two networking courses, or two AI courses, say more on a résumé than two unrelated ones.
Can I count an independent study or research project as an elective?
Yes, CS478 can count for one of your two electives, but the approval is more formal than students expect and it has to happen before you do the work. You need to find a faculty advisor, write a comprehensive syllabus with them, and have it reviewed and approved by the department's Curriculum Committee and the Chair. Only after you complete the study does it get recorded as an elective. An independent study you arranged informally and completed without that approval cannot be counted afterward, so start the conversation a semester ahead.
I got a C- in a major course. Is that a problem?
It depends on two separate things, and students mix them up. First, the minimum grade rule: a few specific transitions require a C- or better to move on. Second, the GPA rules: you need a 2.0 average in your major courses and a 2.0 overall, with no exceptions to either. Worth knowing: only courses taken at UMass Boston count toward the major average, so transferred credit won't lift it. A single low grade is survivable if the rest of your record carries it, but a pattern of them is not. If you're near the line, come talk to me before you register for the next semester, not after.
How many total credits do I need to graduate?
120 credits, of which at least 30 must be taken at UMass Boston, with an overall GPA of 2.0 or above. There are no exceptions to any of those three.

Here's the part that catches people: 120 credits is necessary but not sufficient. You can hit 120 and still not graduate, because the specific requirements matter too, the major courses, the general education distribution, the residency rule. Your degree audit is the authoritative answer for your own situation. Read it every year, not the semester you apply to graduate.
Do I need extra science or math courses for general education?
Probably not. The major's own courses cover the university's natural sciences and quantitative reasoning general education requirements, so you don't need to take anything extra for those. The rest of the gen-ed distribution, arts, humanities, social sciences, diversity, world languages or cultures, you do need to plan for. Your degree audit lists exactly what's outstanding. For questions about which specific course satisfies which gen-ed, the Student Success Center is faster than I am.
I'm a BA student. Is there a language requirement?
Yes, and BA students sometimes miss it. The BA requires elementary foreign language proficiency, which you can meet with a 102-level course in any language other than English, or by demonstrating proficiency another way. The BS has no language requirement. If you're deciding between the two degrees, factor this in.

Planning Your Courses

Sequencing, pacing, and the decisions that are hard to undo.

Is there a sample schedule I can just follow?
Yes. The College of Science and Mathematics Student Success Center publishes a semester-by-semester plan to graduation for both the BS and the BA. They're a good starting point, but they're samples, and yours will shift with transfer credit, placement, and how many courses you take per semester. Deviating from the sample is normal; deviating in a way that breaks a sequencing rule is not.
Does the order I take courses in really matter?
More than almost anything else you'll decide as a major, and for two separate reasons. The practical one: the CS core is a long chain and many courses run only once a year, so one missed semester can push graduation back further than you'd expect. The expensive one: several CS courses are formally in sequence, and taking an earlier one after a later one erases the earlier course's credit. That's stronger than a prerequisite, and it's not the same thing. CS 310 is a prerequisite for CS 444, but they aren't in sequence, so that order costs you nothing. Read the sequencing section before you register.
Is there a map of which courses lead to which?
Yes, there's a prerequisite map above showing every undergraduate CS course, with arrows from each prerequisite to the course that needs it and links out to the department's course pages. One thing jumps out of it: almost everything in the major funnels through CS310, which is why finishing that one on schedule matters more than any other single decision.
I think I already broke a sequencing rule. What now?
Check your degree audit first. WISER won't have stopped you at registration, but the audit flags the problem immediately as an illegal repeat and the message stays there all semester, so if something is wrong it will be sitting right there. Then look at the calendar. If you're still inside the drop period, dropping is usually the move, because a dropped course costs you a semester while a zeroed one costs you the whole effort. If grades have already posted, the reduction is the rule working as designed rather than a mistake to appeal, so the conversation shifts to replanning the rest of your degree. Either way, come see me sooner rather than later.
Can I take two CS courses at the same time?
Usually yes, and by your third year you'll have to. Be realistic about which two, though: pairing two heavy programming-project courses in one semester is a common way to do badly in both. A good rule is at most one project-heavy course per semester, balanced with a theory or math course.
I'm working 20+ hours a week. Can I still do this?
Yes. Many of our students work, and the program is built with that in mind. What changes is your pace, not your ability to finish. Plan for a five-year path with two CS courses a semester instead of forcing a four-year path with three, and start the prerequisite chain early so the long sequences aren't what's holding you up at the end. Come talk to me and we'll build a realistic plan.
When should I take the capstone?
CS410 is a senior course and it assumes you've been through the core, so it belongs in your final year. Don't save it for your very last semester if you can avoid it. Leaving one required course with no fallback semester is how people end up graduating late when something goes wrong.
A course I need is full. What do I do?
Get on the waitlist, and do it right away. Here's what happens on our end: when a course fills, we'll usually try to raise the enrollment cap first. But that only goes so far. Once the cap reaches the seating capacity of the assigned classroom, we cannot add anyone else, because university safety policy doesn't allow it. That's a hard stop, and no amount of asking changes it.

After that, the waitlist is the mechanism. If an enrolled student drops, the next person on the list is enrolled automatically, in order. So your position matters, which is why signing up early is worth more than emailing anyone. Drops are common in the first days of a semester, and waitlists do move.

Do still email me if a full course is genuinely the thing standing between you and on-time graduation. I can't conjure a seat in a full room, but knowing which courses are turning students away is exactly what we need when planning sections and room assignments for the next semester.
Can I take a course at another school and transfer it in?
Sometimes, but get approval before you enroll, not after. You need to fill out a transfer credit permission form in advance and have it pre-approved by me or the department chair. A course you took first and asked about later may simply not count.

Be aware we'd rather you didn't. We prefer our students take our courses, and if the goal is finding an easier version of a hard course, that's not a request I'll support. The same two limits apply as for transfer students: only 100- and 200-level courses transfer from two-year institutions, and only grades of C- and up. Studying abroad works similarly, through the study abroad office, with any major courses authorized in advance.

Grades, Repeats, and Withdrawals

The rules that decide whether a course you sat through actually counts.

Is there a minimum grade I need to move on to the next course?
Yes, for four specific transitions: CS110 to CS210, CS110 to CS240, CS210 to CS310, and CS220 to CS420. Each requires a C- or better in the earlier course. This came in during AY 2023-2024, so if you took the earlier course before that, the rule doesn't apply to you.
My instructor offered a permission number to get around the minimum grade. Should I take it?
An instructor can override the minimum with a permission number, but I recommend against using one unless you took the earlier course before the policy came in during AY 2023-2024. The minimum exists because a C- in the earlier course is a reliable predictor of struggling in the next one. Going in underprepared usually means repeating a harder course instead of an easier one. Talk to me first.
Can I take a major course Pass/Fail?
No. CS students may not take any required major course as Pass/Fail. That includes the math courses, the physics courses, and your CS electives, not just the CS core. There are no exceptions to this one, so please don't plan around getting one.
How many times can I repeat a course?
Two limits apply at once. Each individual course can be repeated at most once, meaning you take it twice total. Separately, you get four repeats overall across your entire time at UMass Boston. Either limit can be the one that stops you. If you need a third attempt at a course, or a second repeat of the same one, you have to appeal for a repeat waiver.
How do I get a repeat waiver?
You submit an appeal to the Office of Undergraduate Studies, currently through DocuSign. It comes to me, I decide whether to support it, and I forward my recommendation on. So the person you need to convince is me, and what convinces me is a concrete account of why this attempt will go differently. What actually changed: your course load, your work hours, how you're studying? "I'll try harder" is not an argument. I support most requests, but not ones where nothing has changed.

Two practical points. Processing takes time, so start well before registration, not during it. And an unauthorized repeat can get you dropped from the course, which is an expensive way to discover you needed the form.
I want to retake a course to get a better grade. Any risk?
Two, and they're independent. First, repeating a course means you forfeit the previous grade and the new one replaces it. That cuts both ways, and students forget the second direction: retake a course you passed with a low grade, then fail it, and the failure is what stands. You can't fall back on the grade you had. Second, if the retake breaks a sequencing rule, the credits and grade for the second attempt are reduced to zero when grades post, so the better grade cannot be the one that counts. Retaking a course you already passed is a real gamble. Be honest with yourself about why it went badly the first time, check the plan against the sequence list, and email me if you're unsure.
I'm going to fail. Is withdrawing better?
Usually, yes, and this is worth acting on before the deadline passes. A withdrawal is not counted as a repeat, so taking the course again afterward doesn't consume one of your four. The W appears on your degree audit but doesn't otherwise count, and there's no hard limit on withdrawals, though every one of them costs you tuition and time. If you're heading for a failing grade, seriously consider withdrawing instead.
What if I withdraw from the whole semester?
That's a much bigger step than dropping one course. If you withdraw from the entire semester, you have to be readmitted before you can return. The re-enrollment request goes through the Registrar's Office and lands with me, and if you left in good standing it's normally approved, so this isn't a door slamming shut. It's just not automatic, and it adds a semester of delay you may not be expecting. Talk to me first, so we can check whether withdrawing from one or two courses gets you what you need instead.
Last semester went badly for reasons outside my control. Is anything possible after the fact?
Sometimes, yes. In rare cases where a student failed an entire semester but has done fine otherwise, a retroactive withdrawal from that semester or course can be possible. It's handled through the Dean of Students and Undergraduate Studies rather than by our department, and it's an exception rather than a routine option. But if a medical problem, a family crisis, or something similar wrecked one specific semester, come talk to me instead of assuming that record is permanent.

Internships, Research, and What Comes Next

When should I start applying for internships?
Earlier than feels comfortable. Summer internship recruiting for large companies runs the previous fall, from September to November for the following summer. Realistically you'll be competitive after CS210 and CS310, so target the summer after your second or third year, and apply broadly. Smaller Boston-area companies recruit on a much later cycle, so keep looking in the spring.
How do I get involved in research as an undergraduate?
Read a bit about what the faculty actually work on, pick someone whose area genuinely interests you, and email them with a specific reason you're interested and what courses you've taken. A short, specific email works far better than a mass mailing. Doing well in a professor's course is the most common way in.
Can I write an undergraduate thesis?
Yes. You take CS498 and present your thesis at the end of the year. Note this is a CS Honors thesis, which is a different thing from the Honors College. You'll need a strong record, CS310 and CS420 behind you, and approval from both me and your thesis advisor. A common and sensible path is to take CS478 as an independent study the semester before, to do the background reading and shape the proposal. If you're considering graduate school, this is the single most useful thing you can do as an undergraduate.
Should I be thinking about graduate school?
If you like the theoretical courses and the idea of open-ended problems with no known answer, it's worth considering. The things that matter are research experience, relationships with faculty who can write you real letters, and your performance in upper-level courses. All three take time to build, so start in your third year rather than your last semester.
What kinds of jobs do our graduates go into?
Software engineering is the most common path, but our graduates also go into data engineering and analytics, systems and network administration, security, and product roles, plus graduate programs in CS and related fields. The Boston area has a dense concentration of tech, healthcare IT, finance, and biotech employers, and being local to it is a real advantage.

Advising and Getting Help

Who is my advisor?
You have two, a CS faculty advisor, and an advisor from the Student Success Center. Both names appear on your student record in WISER, so that's where to look rather than guessing. They're complementary: your CS advisor knows the major and the course sequence, the SSC advisor knows general education, university policy, and support services. If you can't work out who yours is, or your advisor isn't responding, email me and I'll sort it out.
What should I bring to an advising meeting?
Your degree audit, a list of the courses you're considering, and the specific questions you want answered. Ten prepared minutes beats an hour of browsing the catalog together. If you're behind or something has gone wrong, say so at the start. That's the situation advising is most useful for, and it's the one students most often avoid raising.
I have an advising hold and can't register. What is that?
It's deliberate. The hold exists to make sure you actually talk to your advisor before registering, and your advisor removes it after you've met. So the fix is simply to book that meeting. Do it early in the advising period rather than the night registration opens, because a hold you discover at 9pm the evening before your enrollment window is a hold nobody can clear for you in time.
When should I come see the Undergraduate Program Director?
Come to me for anything about the program rather than an individual class: substitutions, transfer credit questions, sequencing problems, being off-track for graduation, or wanting to add research or an independent study. For questions about material inside a specific course, start with that course's instructor.
I'm struggling and thinking about dropping the major. What should I do?
Talk to someone before you decide. A bad semester in one course is genuinely common and is not evidence that you can't do this. Often the real problem is course load, pacing, or a gap from an earlier course that never got filled, and all three are fixable. Email me. This is one of the most useful conversations I have with students, and I'd much rather have it early.

Still stuck?

If you're off-track, unsure what to register for, or thinking about leaving the major, that's exactly what I'm here for. The earlier you ask, the more options we have.