Difference between revisions of "CMSC4XX Course Information"
Line 62: | Line 62: | ||
=== Area 3: Software Engineering and Programming Languages === | === Area 3: Software Engineering and Programming Languages === | ||
{| style="border:none;" | {| style="border:none;" | ||
− | | [[CMSC430]] ||| Introduction to Compilers | + | | [[CMSC430_-_Introduction_to_Compilers|CMSC430]] ||| Introduction to Compilers |
|- | |- | ||
| [[CMSC433]] ||| Programming Language Technologies and Paradigms | | [[CMSC433]] ||| Programming Language Technologies and Paradigms |
Revision as of 13:09, 2 October 2016
Welcome to the CMSC400 Level Wiki. At this point you should have already completed the following requirements: MATH140, MATH141, CMSC131, CMSC132, CMSC216, CMSC250, CMSC330, CMSC351, STAT4XX and MATH/AMSC/STATXXX requirements.
Here you will find currently available information on course offerings for Spring 2017. Students ready for 400 level courses should be sure to review this information prior to coming in for their mandatory advising appointments.
Students are granted permission for 2 CMSC courses during their mandatory advising session. Permissions for a 3rd CMSC course are not guaranteed. If you have any questions or concerns, feel free to e-mail us at ugrad@cs.umd.edu.
We hope this helps you make decisions about your courses!
- The Undergrad Office
Specializations[edit]
Within Computer Science students can specialize in general Computer Science, Cybersecurity, or Data Science. Different concentrations require different CMSC4XX courses. Be sure to consult your advisor with any questions you have about the required coursework for your concentration.
General Computer Science[edit]
At the upper level, students take five (5) 400 level courses from at least three different areas with no more than two courses in a given area. An additional two (2) electives, totaling 6 credits, for the general computer science degree are also required. If students take more than two courses from an area, the additional courses will be counted as upper level computer science electives. Students can also count one credit winter courses towards the elective requirement, as well as independent research or study with a faculty member, and other courses at the 300 or 400 level, including special topics courses.
Cybersecurity[edit]
Students looking to pursue the cybersecurity specialization are required to complete the lower level courses, the additional required courses, and the upper level concentration requirements. The difference in the specialization is the upper level computer science courses.
Students are required to take: CMSC412, CMSC414, CMSC417, CMSC433, CMSC456. Students must also choose CMSC411 OR CMSC430 (students may not take both to complete the requirements) and CMSC420 OR CMSC451 (students may not take both to complete the requirements).
Data Science[edit]
Students looking to pursue the data science specialization are required to complete the lower level courses (MATH140, MATH141, CMSC131, CMSC132, CMSC216, CMSC250), the additional required courses (CMSC330, CMSC351, MATH/STATXXX beyond MATH141), and the upper level concentration requirements as detailed above. The difference in the specialization is the upper level computer science courses.
Students are required to take: CMSC320, CMSC422, CMSC424, and STAT400. Students must choose one course from: CMSC402, CMSC420, CMSC421, CMSC423, CMSC425, CMSC426, and CMSC427. Students must choose one course from CMSC451 and CMSC460. Students must also choose two courses from: CMSC411, CMSC412, CMSC414, CMSC417, CMSC430, CMSC433, CMSC434, and CMSC435.
Spring 2017 Course Offerings[edit]
Area 1: Systems[edit]
CMSC411 | Computer Systems Architecture |
CMSC412 | Operating Systems |
CMSC414 | Computer and Network Security |
CMSC417 | Computer Networks |
Area 2: Information Processing[edit]
CMSC420 | Data Structure |
CMSC421 | Introduction to Artificial Intelligence |
CMSC422 | Introduction to Machine Learning |
CMSC423 | Bioinformatic Algorithms, Databases, and Tools |
CMSC424 | Database Design |
CMSC425 | Game Programming |
CMSC426 | Image Processing |
CMSC427 | Computer Graphics |
Area 3: Software Engineering and Programming Languages[edit]
CMSC430 | Introduction to Compilers |
CMSC433 | Programming Language Technologies and Paradigms |
CMSC434 | Introduction to Human-Computer Interaction |
CMSC435 | Software Engineering |
CMSC436 | Programming Handheld Systems |
Area 4: Theory[edit]
CMSC451 | Design and Analysis of Computer Algorithms |
CMSC456 | Cryptology |
Area 5: Numerical Analysis[edit]
CMSC460 | Computational Methods |
CMSC466 | Introduction to Numerical Analysis |
Electives[edit]
CMSC320 | Introduction to Data Science |
CMSC475 | Combinatorics and Graph Theory |
CMSC498A | Selected Topics in Computer Science |
CMSC498C | Selected Topics in Computer Science; Randomized Algorithms |
CMSC498F | Selected Topics in Computer Science; Robotics and Perception |
CMSC499A | Independent Undergraduate Research |
***Please note that you can check the course webpages here for more information as it becomes available.***
This information and wiki is subject to change.