Computer Science (B.S) Prerequisites Chart

                THEME
                flowchart LR
                    subgraph UMass_Boston_CS_Prerequisites
                        DIAGRAM_DIR
                        subgraph Core_Classes_Prerequisites
                            direction TB
                            subgraph Computer_Science
                                direction TB
                                CS110("CS110 \nIntro to Computing")
                                CS210("CS210 \nIntermediate \nComputing \nW/ Data Stuctures")
                                CS220("CS220 \nApplied\nDiscrete\nMathematics")
                                CS240("CS240 \nProgramming\nin C\n\n")
                                CS341("CS341 \nComputer\nArchitecture\n& Organization")
                                CS310("CS310 \nAdvanced\nData Structures\n& Algorithms")
                                CS410("CS410* \nIntro to\nSoftware\nEngineering")
                                CS420("CS420 \nIntro to\nTheory of\nComputation")
                                CS444("CS444 \nIntro to\nOperating\nSystems")
                                CS450("CS450 \nStructure of\nHigher level\nLanguages")
                                CS451("CS451 \n\nCompilers\n\n")
                                CS285("CS285L \nSocial Issues\n& Ethics in\nComputing")
                                CS400("CS4XX* \nAny 400+\nLevel\nCourse")
                                CS401("CS4XX* \nAny 400+\nLevel\nCourse")
                                CS110 --> CS240
                                CS110 --> CS210
                                CS110 --> CS220
                                CS240 --> CS341
                                CS210 --> CS310
                                CS220 --> CS310
                                CS240 --> CS310
                                CS310 --> CS444
                                CS341 --> CS444
                                CS310 --> CS410
                                CS220 --> CS450
                                CS310 --> CS451
                                CS310 --> CS450
                                CS220 --> CS420
                                CS420 ---> CS451
                                CS444 ~~~ CS285
                                CS410 ~~~ CS400
                                CS410 ~~~ CS401
                            end
                            subgraph Info
                                CSPRE["MATH130 with a grade of B or better in the previous semester\nOr ALEKS placement for MATH140"]
                            end 
                                MATH140 --> CS220
                            subgraph Math_&_Physics
                                direction TB
                                subgraph Math
                                    direction TB
                                    MATH140("MATH140\nCalculus I\n\n")
                                    MATH141("MATH141\nCalculus II\n\n")
                                    MATH260("MATH260\nLinear\nAlgebra")
                                    MATH345("MATH345\nProbabilities &\nStatistics")
                                    MATH140 --> MATH260
                                    MATH140 --> MATH141
                                    MATH141 --> MATH345
                                    
                                end
                                subgraph Physics
                                    direction TB
                                    subgraph Pre/Co Req
                                        direction LR
                                        PHYSIC113("PHYSIC113\nPhysics I\n\n")
                                        PHYSIC181("PHYSIC181\nPhysics I\nLAB")
                                    end
                                    subgraph Pre/Co Req
                                        direction LR
                                        PHYSIC114("PHYSIC114\nPhysics II\n\n")
                                        PHYSIC182("PHYSIC182\nPhysics II\nLAB")
                                        
                                    end
                                        PHYSIC113 --> PHYSIC114
                                        PHYSIC181 --> PHYSIC182
                                end
                                MATH140 -.Pre/Co Req.-> PHYSIC113
                                MATH141 -.Pre/Co Req.-> PHYSIC114
                            end
                            CSPRE --> CS110
                            CSPRE --> MATH140
                            subgraph Notes:
                                NOTE1{{"Click on any class for more information"}}
                                NOTE2{{"CS410 requires any other CS400+ course as a prerequisite"}}
                                NOTE3{{"Prerequisites for CS4xx Electives listed to the right -->"}}
                            end
                        end
                        subgraph Other_Links
                            direction RL
                            subgraph CS_Website
                                direction TB
                                CSHOME["CS -> Home Page"]
                                CSPORTAL["CS -> Portal"]
                                CSSCHED["CS -> Course Schedule"]
                                CSCOURSES["CS -> Course List"]
                                CSFACULTY["CS -> Faculty"]
                                CSCLUB["Discord -> CS Club"]
                                CSHOME ~~~ CSPORTAL
                                CSPORTAL ~~~ CSSCHED
                                CSSCHED ~~~ CSCOURSES
                                CSCOURSES ~~~ CSFACULTY
                                CSFACULTY ~~~ CSCLUB
                            end
                            subgraph Electives_Prereqs
                                    direction TB
                                    CS411PRE("(CS310)")
                                    CS430PRE("(CS310)")
                                    CS433PRE("(CS310, MATH260, MATH345)")
                                    CS436PRE("(CS430)")
                                    CS437PRE("(CS430)")
                                    CS438PRE("(CS310)")
                                    CS442PRE("(CS310)")
                                    CS443PRE("(CS310)")
                                    CS446PRE("(CS310, CS341, CoReq:CS444)")
                                    CS449PRE("(CS310, CS341)")
                                    CS460PRE("(CS310, MATH260)")
                                    CS461PRE("(CS310)")
                                    CS470PRE("(CS220, CS310)")
                                    CS480PRE("(Permission of the department chair)")
                                    CS666PRE("(CS310, MATH260)")
                            end
                            subgraph CS_Electives
                                direction TB
                                CS411("CS411: Competitive Programming")
                                CS430("CS430: Database Application Development")
                                CS433("CS433: Big Data Analytics")
                                CS436("CS436: Database Application Development")
                                CS437("CS437: Database Backed Web Sites Services")
                                CS438("CS438: Applied Machine Learning")
                                CS442("CS442: Cybersecurity in the Internet of Things")
                                CS443("CS443: Mobile Applications")
                                CS446("CS446: Introduction to Internetworking")
                                CS449("CS449: Introduction to Computer Security")
                                CS460("CS460: Graphics")
                                CS461("CS461: Computer Games Programming")
                                CS470("CS470: Introduction to Artificial Intelligence")
                                CS480("CS480: Special Topics")
                                CS666("CS666: Biomedical Signal and Image Processing ")
                                CS4XX("CS4XX: Other CS course")
                            end
                            CS_Website ~~~ CS442PRE
                            CS411PRE --> CS411
                            CS430PRE --> CS430
                            CS433PRE --> CS433
                            CS436PRE --> CS436
                            CS437PRE --> CS437
                            CS438PRE --> CS438
                            CS442PRE --> CS442
                            CS443PRE --> CS443
                            CS446PRE --> CS446
                            CS449PRE --> CS449
                            CS460PRE --> CS460
                            CS461PRE --> CS461
                            CS470PRE --> CS470
                            CS480PRE --> CS480
                            CS666PRE --> CS666
                        end
                    end
                        Computer_Science ~~~ Math_&_Physics
                        Core_Classes_Prerequisites ~~~ Other_Links
                        click CS110 "https://www.cs.umb.edu/academics/courses/CS110"
                        click CS210 "https://www.cs.umb.edu/academics/courses/CS210"
                        click CS220 "https://www.cs.umb.edu/academics/courses/CS220"
                        click CS240 "https://www.cs.umb.edu/academics/courses/CS240"
                        click CS341 "https://www.cs.umb.edu/academics/courses/CS341"
                        click CS310 "https://www.cs.umb.edu/academics/courses/CS310"
                        click CS410 "https://www.cs.umb.edu/academics/courses/CS410"
                        click CS420 "https://www.cs.umb.edu/academics/courses/CS420"
                        click CS444 "https://www.cs.umb.edu/academics/courses/CS444"
                        click CS450 "https://www.cs.umb.edu/academics/courses/CS450"
                        click CS451 "https://www.cs.umb.edu/academics/courses/CS451"
                        click CS285 "https://www.cs.umb.edu/academics/courses/CS285L"
                        click CS411 "https://www.cs.umb.edu/academics/courses/CS411"
                        click CS430 "https://www.cs.umb.edu/academics/courses/CS430"
                        click CS433 "https://www.cs.umb.edu/academics/courses/CS433"
                        click CS436 "https://www.cs.umb.edu/academics/courses/CS436"
                        click CS437 "https://www.cs.umb.edu/academics/courses/CS437"
                        click CS438 "https://www.cs.umb.edu/academics/courses/CS438"
                        click CS442 "https://www.cs.umb.edu/academics/courses/CS442"
                        click CS443 "https://www.cs.umb.edu/academics/courses/CS443"
                        click CS446 "https://www.cs.umb.edu/academics/courses/CS446"
                        click CS449 "https://www.cs.umb.edu/academics/courses/CS449"
                        click CS460 "https://www.cs.umb.edu/academics/courses/CS460"
                        click CS461 "https://www.cs.umb.edu/academics/courses/CS461"
                        click CS470 "https://www.cs.umb.edu/academics/courses/CS470"
                        click CS480 "https://www.cs.umb.edu/academics/courses/CS480"
                        click CS666 "https://www.cs.umb.edu/academics/courses/CS666"
                        click MATH140 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_140"
                        click MATH141 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_141"
                        click MATH260 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_260"
                        click MATH345 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_345"
                        click PHYSIC113 "https://www.physics.umb.edu/Classes/phys_113.html"
                        click PHYSIC114 "https://www.physics.umb.edu/Classes/phys_114.html"
                        click PHYSIC181 "https://www.physics.umb.edu/Classes/phys_181.html"
                        click PHYSIC182 "https://www.physics.umb.edu/Classes/phys_182.html"
                        click CSHOME "https://www.cs.umb.edu"
                        click CSPORTAL "https://portal.cs.umb.edu"
                        click CSSCHED "https://www.cs.umb.edu/course-schedule"
                        click CSCOURSES "https://www.cs.umb.edu/courses"
                        click CSFACULTY "https://www.cs.umb.edu/faculty"
                        click CSCLUB "https://discord.gg/buFMtHVSsF"
            
                THEME
                flowchart LR
                    subgraph UMass_Boston_CS_Prerequisites
                    DIAGRAM_DIR
                        subgraph Core_Classes_Prerequisites
                            direction TB
                            subgraph Info
                                CSPRE["MATH130 with a grade of B or better in the previous semester\nOr ALEKS placement for MATH140"]
                            end
                            subgraph Computer_Science
                                direction TB
                                CS110("CS110 \nIntro to Computing")
                                CS210("CS210 \nIntermediate \nComputing \nW/ Data Stuctures")
                                CS240("CS240 \nProgramming\nin C\n\n")
                                CS220("CS220 \nApplied\nDiscrete\nMathematics")
                                CS310("CS310 \nAdvanced\nData Structures\n& Algorithms")
                                CS341("CS341 \nComputer\nArchitecture\n& Organization")
                                CS410("CS410* \nIntro to\nSoftware\nEngineering")
                                CS420("CS420 \nIntro to\nTheory of\nComputation")
                                CS449("CS449 \nIntro to\nComputer\nSecurity")
                                CS451("CS451 \n\nCompilers\n\n")
                                CS285("CS285L \nSocial Issues\n& Ethics in\nComputing")
                                CS400("CS4XX* \nAny 400+\nLevel\nCourse")
                                CS401("CS4XX* \nAny 400+\nLevel\nCourse")
                                CS341 ---> CS449
                                CS341 --> Co-Req
                                CS310 --> Co-Req
                                CS110 --> CS240
                                CS110 --> CS210
                                CS110 --> CS220
                                CS240 --> CS341
                                CS240 --> CS310
                                CS210 --> CS310
                                CS220 --> CS310
                                CS220 --> CS420
                                CS310 ---> CS449
                                CS310 ---> CS410
                                CS310 ---> CS451
                                CS420 --> CS451
                                subgraph Co-Req
                                    direction LR
                                    CS444("CS444 \nIntro to\nOperating\nSystems")
                                    CS446("CS446 \nIntro to\nInter\nNetworking")
                                    CS444 -.-> CS446
                                end
                                CS449 ~~~ CS285
                                CS410 ~~~ CS400
                                CS451 ~~~ CS401
                            end
                            subgraph Math_&_Physics
                                direction TB
                                subgraph Math
                                    direction TB
                                    MATH140("MATH140\nCalculus I\n\n")
                                    MATH141("MATH141\nCalculus II\n\n")
                                    MATH260("MATH260\nLinear\nAlgebra")
                                    MATH345("MATH345\nProbabilities &\nStatistics")
                                    MATH140 --> CS220
                                    MATH140 --> MATH260
                                    MATH140 --> MATH141
                                    MATH141 --> MATH345        
                                end
                                subgraph Physics
                                    direction TB
                                    subgraph Pre/Co Req
                                        direction LR
                                        PHYSIC113("PHYSIC113\nPhysics I\n\n")
                                        PHYSIC181("PHYSIC181\nPhysics I\nLAB")
                                    end
                                    subgraph Pre/Co Req
                                        direction LR
                                        PHYSIC114("PHYSIC114\nPhysics II\n\n")
                                        PHYSIC182("PHYSIC182\nPhysics II\nLAB")
                                        
                                    end
                                        PHYSIC113 --> PHYSIC114
                                        PHYSIC181 --> PHYSIC182
                                end
                                MATH140 -.Pre/Co Req.-> PHYSIC113
                                MATH141 -.Pre/Co Req.-> PHYSIC114
                            end
                            
                            CSPRE --> CS110
                            CSPRE --> MATH140
                            subgraph Notes:
                                NOTE1{{"Click on any class for more information"}}
                                NOTE2{{"CS410 requires any other CS400+ course as a prerequisite"}}
                                NOTE3{{"Prerequisites for CS4xx Electives listed to the right -->"}}
                            end
                        end
                        subgraph Other_Links
                            direction RL
                            subgraph CS_Website
                                direction TB
                                CSHOME["CS -> Home Page"]
                                CSPORTAL["CS -> Portal"]
                                CSSCHED["CS -> Course Schedule"]
                                CSCOURSES["CS -> Course List"]
                                CSFACULTY["CS -> Faculty"]
                                CSCLUB["Discord -> CS Club"]
                                CSHOME ~~~ CSPORTAL
                                CSPORTAL ~~~ CSSCHED
                                CSSCHED ~~~ CSCOURSES
                                CSCOURSES ~~~ CSFACULTY
                                CSFACULTY ~~~ CSCLUB
                            end
                            subgraph Electives_Prereqs
                                    direction TB
                                    CS411PRE("(CS310)")
                                    CS430PRE("(CS310)")
                                    CS433PRE("(CS310, MATH260, MATH345)")
                                    CS436PRE("(CS430)")
                                    CS437PRE("(CS430)")
                                    CS438PRE("(CS310)")
                                    CS442PRE("(CS310)")
                                    CS443PRE("(CS310)")
                                    CS450PRE("(CS220, CS310)")
                                    CS460PRE("(CS310, MATH260)")
                                    CS461PRE("(CS310)")
                                    CS470PRE("(CS220, CS310)")
                                    CS480PRE("(Permission of the department chair)")
                                    CS666PRE("(CS310, MATH260)")
                            end
                            subgraph CS_Electives
                                direction TB
                                CS411("CS411: Competitive Programming")
                                CS430("CS430: Database Application Development")
                                CS433("CS433: Big Data Analytics")
                                CS436("CS436: Database Application Development")
                                CS437("CS437: Database Backed Web Sites Services")
                                CS438("CS438: Applied Machine Learning")
                                CS442("CS442: Cybersecurity in the Internet of Things")
                                CS443("CS443: Mobile Applications")
                                CS450("CS450: Structure of Higher Level Languages")
                                CS460("CS460: Graphics")
                                CS461("CS461: Computer Games Programming")
                                CS470("CS470: Introduction to Artificial Intelligence")
                                CS480("CS480: Special Topics")
                                CS666("CS666: Biomedical Signal and Image Processing ")
                                CS4XX("CS4XX: Other CS course")
                            end
                            CS_Website ~~~ CS442PRE
                            CS411PRE --> CS411
                            CS430PRE --> CS430
                            CS433PRE --> CS433
                            CS436PRE --> CS436
                            CS437PRE --> CS437
                            CS438PRE --> CS438
                            CS442PRE --> CS442
                            CS443PRE --> CS443
                            CS450PRE --> CS450
                            CS460PRE --> CS460
                            CS461PRE --> CS461
                            CS470PRE --> CS470
                            CS480PRE --> CS480
                            CS666PRE --> CS666
                        end
                    end
                        Core_Classes_Prerequisites ~~~ Other_Links
                        click CS110 "https://www.cs.umb.edu/academics/courses/CS110"
                        click CS210 "https://www.cs.umb.edu/academics/courses/CS210"
                        click CS220 "https://www.cs.umb.edu/academics/courses/CS220"
                        click CS240 "https://www.cs.umb.edu/academics/courses/CS240"
                        click CS341 "https://www.cs.umb.edu/academics/courses/CS341"
                        click CS310 "https://www.cs.umb.edu/academics/courses/CS310"
                        click CS410 "https://www.cs.umb.edu/academics/courses/CS410"
                        click CS420 "https://www.cs.umb.edu/academics/courses/CS420"
                        click CS444 "https://www.cs.umb.edu/academics/courses/CS444"
                        click CS450 "https://www.cs.umb.edu/academics/courses/CS450"
                        click CS451 "https://www.cs.umb.edu/academics/courses/CS451"
                        click CS285 "https://www.cs.umb.edu/academics/courses/CS285L"
                        click CS411 "https://www.cs.umb.edu/academics/courses/CS411"
                        click CS430 "https://www.cs.umb.edu/academics/courses/CS430"
                        click CS433 "https://www.cs.umb.edu/academics/courses/CS433"
                        click CS436 "https://www.cs.umb.edu/academics/courses/CS436"
                        click CS437 "https://www.cs.umb.edu/academics/courses/CS437"
                        click CS438 "https://www.cs.umb.edu/academics/courses/CS438"
                        click CS442 "https://www.cs.umb.edu/academics/courses/CS442"
                        click CS443 "https://www.cs.umb.edu/academics/courses/CS443"
                        click CS446 "https://www.cs.umb.edu/academics/courses/CS446"
                        click CS449 "https://www.cs.umb.edu/academics/courses/CS449"
                        click CS460 "https://www.cs.umb.edu/academics/courses/CS460"
                        click CS461 "https://www.cs.umb.edu/academics/courses/CS461"
                        click CS470 "https://www.cs.umb.edu/academics/courses/CS470"
                        click CS480 "https://www.cs.umb.edu/academics/courses/CS480"
                        click CS666 "https://www.cs.umb.edu/academics/courses/CS666"
                        click MATH140 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_140"
                        click MATH141 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_141"
                        click MATH260 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_260"
                        click MATH345 "https://courses.umb.edu/course_catalog/course_info/ugrd_MATH_all_345"
                        click PHYSIC113 "https://www.physics.umb.edu/Classes/phys_113.html"
                        click PHYSIC114 "https://www.physics.umb.edu/Classes/phys_114.html"
                        click PHYSIC181 "https://www.physics.umb.edu/Classes/phys_181.html"
                        click PHYSIC182 "https://www.physics.umb.edu/Classes/phys_182.html"
                        click CSHOME "https://www.cs.umb.edu"
                        click CSPORTAL "https://portal.cs.umb.edu"
                        click CSSCHED "https://www.cs.umb.edu/course-schedule"
                        click CSCOURSES "https://www.cs.umb.edu/courses"
                        click CSFACULTY "https://www.cs.umb.edu/faculty"
                        click CSCLUB "https://discord.gg/buFMtHVSsF"
                

Sample Program Progression

Freshman YearSophomore YearJunior YearSenior Year
Semester 1 Semester 3 Semester 5 Semester 7
CS 110 CS 220 CS 420 CS 410
MATH 140 CS 240 CS 450 CS Elective
Gen. Ed. PHYSIC 114 MATH 345 Gen. Ed.
Gen. Ed. PHYSIC 182 Gen. Ed. Gen. Ed.
Gen. Ed. Gen. Ed. Gen. Ed. Gen. Ed.
Semester 2 Semester 4 Semester 6 Semester 8
CS 210 CS 310 CS 444 CS 285L
MATH 141 CS 341 CS 451 CS Elective
PHYSIC 113 MATH 260 Science Elective Gen. Ed.
PHYSIC 181 Gen. Ed. Gen. Ed. Gen. Ed.
Gen. Ed. Gen. Ed. Gen. Ed. Gen. Ed.
Freshman YearSophomore YearJunior YearSenior Year
Semester 1 Semester 3 Semester 5 Semester 7
CS 110 CS 220 CS 420 CS 410
MATH 140 CS 240 CS 444 CS Elective
Gen. Ed. PHYSIC 114 MATH 345 Gen. Ed.
Gen. Ed. PHYSIC 182 Gen. Ed. Gen. Ed.
Gen. Ed. Gen. Ed. Gen. Ed. Gen. Ed.
Semester 2 Semester 4 Semester 6 Semester 8
CS 210 CS 310 CS 446 CS 285L
MATH 141 CS 341 CS 451 CS Elective
PHYSIC 113 MATH 260 CS 449 Gen. Ed.
PHYSIC 181 Gen. Ed. Gen. Ed. Gen. Ed.
Gen. Ed. Gen. Ed. Gen. Ed. Gen. Ed.



Created by Estevão Lordeiro