Difference between revisions of "CMSC4XX Course Information"

From CS 400 Level Course Wiki
 
(68 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__TOC__
+
<div id="TOC" style="float:right; padding: 5px;">__TOC__</div>
  
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.
+
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.<br>
  
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.<br />
+
If you are unsure of what requirements you have completed, or need to complete, please check U.Achieve prior to your advising appointment. This will help you choose courses for the upcoming semester(s). Please remember to be on time for your mandatory advising meeting so that you are not asked to reschedule. Coming prepared for this meeting will make the whole process a lot smoother. <br>
  
 
Students are granted permission for <u>2 CMSC courses</u> 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 [mailto:ugrad@cs.umd.edu ugrad@cs.umd.edu].
 
Students are granted permission for <u>2 CMSC courses</u> 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 [mailto:ugrad@cs.umd.edu ugrad@cs.umd.edu].
 +
 +
This wiki is to help you better understand that 400 level course offerings this upcoming semester. We have attempted to provide as much information as possible to assist you in making informed decisions about your future coursework. Students ready for 400 level courses should be sure to review this information prior to coming in for their mandatory advising appointments.<br />
 +
 
<br />
 
<br />
  
Line 15: Line 18:
 
<br />
 
<br />
 
== Specializations ==
 
== Specializations ==
Within Computer Science students can specialize in general Computer Science, Cybersecurity, or Data Science. Different concentrations require different CMSC4XX courses.
+
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 Track ===
+
 
 +
=== General Computer Science ===
 
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.
 
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.
  
Line 28: Line 32:
 
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.
 
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 ==
+
== Course Offerings ==
 
=== Area 1: Systems ===
 
=== Area 1: Systems ===
{| style="border:none; border-spacing: 5px 2px;"
+
{| style="border:none;"
| [[CMSC411]] ||| 0101/0201 | Michelle Hugue
+
| [[CMSC411_-_Computer_Systems_Architecture|CMSC411]] ||| Computer Systems Architecture
 
|-
 
|-
| [[CMSC412]] ||| 0101/0102 | Jeffrey Hollingsworth
+
| [[CMSC412_-_Operating_Systems|CMSC412]] ||| Operating Systems
 
|-
 
|-
| [[CMSC414]] ||| 0101/0201 | A.U. Shankar
+
| [[CMSC414_-_Computer_and_Network_Security|CMSC414]] ||| Computer and Network Security
 
|-
 
|-
| style="vertical-align:top;" | [[CMSC417]]||| 0101 | Xiehua Li
+
| [[CMSC417_-_Computer_Networks|CMSC417]] ||| Computer Networks
0201 | Samrat Bhattacharjee
 
 
|}
 
|}
  
 
=== Area 2: Information Processing ===
 
=== Area 2: Information Processing ===
 
{| style="border:none;"
 
{| style="border:none;"
| style="vertical-align:top;" | [[CMSC420]] ||| 0101 | Michelle Hugue
+
| [[CMSC420_-_Data_Structures|CMSC420]] ||| Data Structures
0201 | Larry Davis
 
 
 
0301 | Venkatramanan Subrahmanian
 
|-
 
| [[CMSC421]] ||| 0101 | Marine Carpuat
 
 
|-
 
|-
| [[CMSC422]] ||| 0101 | A.U. Shankar
+
| [[CMSC421_-_Introduction_to_Artificial_Intelligence|CMSC421]] ||| Introduction to Artificial Intelligence
 
|-
 
|-
| [[CMSC423]] ||| 0101 | Hector Corrada Bravo
+
| [[CMSC422_-_Introduction_to_Machine_Learning|CMSC422]] ||| Introduction to Machine Learning
 
|-
 
|-
| style="vertical-align:top;" | [[CMSC424]] ||| 0101 | Nicholas Roussopoulos
+
| [[CMSC423_-_Bioinformatic_Algorithms,_Databases,_and_Tools|CMSC423]] ||| Bioinformatic Algorithms, Databases, and Tools
0201 | Peter Keleher
 
 
|-
 
|-
| [[CMSC425]] ||| 0101 | David Mount
+
| [[CMSC424|CMSC424]] ||| Database Design
 
|-
 
|-
| [[CMSC426]] ||| 0101 | David Jacobs
+
| [[CMSC426|CMSC426]] ||| Computer Vision
 
|-
 
|-
| [[CMSC427]] ||| 0101 | Zia Khan
+
| [[CMSC427_-_Computer_Graphics|CMSC427]] ||| Computer Graphics
 
|}
 
|}
  
 
=== Area 3: Software Engineering and Programming Languages ===
 
=== Area 3: Software Engineering and Programming Languages ===
*[[CMSC430]] Jeff Foster
+
{| style="border:none;"
*[[CMSC433]] Rance Cleaveland
+
| [[CMSC430_-_Introduction_to_Compilers|CMSC430]] ||| Introduction to Compilers
*[[CMSC434]] Jon Froehlich
+
|-
*[[CMSC435]] James Purtilo
+
| [[CMSC433_-_Programming_Language_Technologies_and_Paradigms|CMSC433]] ||| Programming Language Technologies and Paradigms
*[[CMSC436]] Adam Porter
+
|-
<br />
+
| [[CMSC434_-_Introduction_to_Human-Computer_Interaction|CMSC434]] ||| Introduction to Human-Computer Interaction
 +
|-
 +
| [[CMSC435_-_Software_Engineering|CMSC435]] ||| Software Engineering
 +
|-
 +
| [[CMSC436_-_Programming_Handheld_Systems|CMSC436]] ||| Programming Handheld Systems
 +
|}
  
== Area 4: Theory ==
+
=== Area 4: Theory ===
*[[CMSC451]] Aravind Srinivasan
+
{| style="border:none;"
*[[CMSC456]] Jonathan Katz
+
| [[CMSC451_-_Design_and_Analysis_of_Computer_Algorithms|CMSC451]] ||| Design and Analysis of Computer Algorithms
<br />
+
|-
 +
| [[CMSC452_-_Elementary_Theory_of_Computation|CMSC452]] ||| Elementary Theory of Computation
 +
|-
 +
| [[CMSC456_-_Cryptology|CMSC456]] ||| Cryptology
 +
|-
 +
| [[CMSC457_-_Introduction_to_Quantum_Computing|CMSC457]] ||| Introduction to Quantum Computing
 +
|}
  
== Area 5: Numerical Analysis ==
+
=== Area 5: Numerical Analysis ===
*[[CMSC460 w/ Levy]] Doron Levy
+
{| style="border:none;"
*[[CMSC460 w/ Levermore]] Dave Levermore
+
| [[CMSC460_-_Computational_Methods|CMSC460]] ||| Computational Methods
*[[CMSC466]] Dionisios Margetis
+
|-
<br />
+
| [[CMSC466_-_Introduction_to_Numerical_Analysis_I|CMSC466]] ||| Introduction to Numerical Analysis
 +
|}
  
== Electives ==
+
=== Electives ===
*[[CMSC320]] Hector Corrada Bravo
+
{| style="border:none;"
*[[CMSC474]] Dana Nau
+
| [[CMSC320_-_Introduction_to_Data_Science|CMSC320]] ||| Introduction to Data Science
*[[CMSC498I]] Larry Davis
+
|-
*[[CMSC499A]] Various Faculty
+
| [[CMSC474_-_Introduction_to_Computational_Game_Theory|CMSC474]] ||| Introduction to Computational Game Theory
 +
|-
 +
| [[CMSC498C_-_Randomized_Algorithms|CMSC498C]] ||| Selected Topics in Computer Science; Randomized Algorithms
 +
|-
 +
| [[CMSC498M_-_Foundations_of_Data_Science|CMSC498M]] ||| Selected Topics in Computer Science; Foundations of Data Science
 +
|-
 +
| [[CMSC498O_-_Introduction_to_Data_Visualization|CMSC498O]] ||| Selected Topics in Computer Science; Introduction to Data Visualization
 +
|-
 +
| [[CMSC498Z_-_Advanced_Functional_Programming|CMSC498V]] ||| Selected Topics in Computer Science; Advanced Functional Programming
 +
|-
 +
| [[CMSC499A]] ||| Independent Undergraduate Research
 +
|}
  
 
  ***Please note that you can check the course webpages [http://www.cs.umd.edu/class/ here] for more information as it becomes available.***  
 
  ***Please note that you can check the course webpages [http://www.cs.umd.edu/class/ here] for more information as it becomes available.***  
 
This information and wiki is subject to change.
 
This information and wiki is subject to change.

Latest revision as of 16:01, 18 October 2018

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.

If you are unsure of what requirements you have completed, or need to complete, please check U.Achieve prior to your advising appointment. This will help you choose courses for the upcoming semester(s). Please remember to be on time for your mandatory advising meeting so that you are not asked to reschedule. Coming prepared for this meeting will make the whole process a lot smoother.

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.

This wiki is to help you better understand that 400 level course offerings this upcoming semester. We have attempted to provide as much information as possible to assist you in making informed decisions about your future coursework. Students ready for 400 level courses should be sure to review this information prior to coming in for their mandatory advising appointments.


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.

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 Structures
CMSC421 Introduction to Artificial Intelligence
CMSC422 Introduction to Machine Learning
CMSC423 Bioinformatic Algorithms, Databases, and Tools
CMSC424 Database Design
CMSC426 Computer Vision
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
CMSC452 Elementary Theory of Computation
CMSC456 Cryptology
CMSC457 Introduction to Quantum Computing

Area 5: Numerical Analysis[edit]

CMSC460 Computational Methods
CMSC466 Introduction to Numerical Analysis

Electives[edit]

CMSC320 Introduction to Data Science
CMSC474 Introduction to Computational Game Theory
CMSC498C Selected Topics in Computer Science; Randomized Algorithms
CMSC498M Selected Topics in Computer Science; Foundations of Data Science
CMSC498O Selected Topics in Computer Science; Introduction to Data Visualization
CMSC498V Selected Topics in Computer Science; Advanced Functional Programming
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.