Major in Computer Science - Software Engineering Track

The Computer Science major with a track in Software Engineering requires 85–87 units to be earned with a grade equivalent of 2.00 or higher. A minimum of 30 major units must be taken at Towson University.

Required Computer Science Courses
COSC 236INTRODUCTION TO COMPUTER SCIENCE I4
COSC 237INTRODUCTION TO COMPUTER SCIENCE II4
COSC 290PRINCIPLES OF COMPUTER ORGANIZATION4
COSC 336DATA STRUCTURES AND ALGORITHM ANALYSIS4
COSC 350DATA COMMUNICATIONS AND NETWORKING3
COSC 412SOFTWARE ENGINEERING3
COSC 439OPERATING SYSTEMS3
COSC 455PROGRAMMING LANGUAGES: DESIGN & IMPLEMENTATION3
COSC 457DATABASE MANAGEMENT SYSTEMS3
Required Software Engineering Track Courses
COSC 432REQUIREMENTS ANALYSIS & MODELING3
COSC 436OBJECT-ORIENTED DESIGN & PROGRAMMING3
COSC 442SOFTWARE QUALITY ASSURANCE AND TESTING3
COSC 490SOFTWARE PROJECT PRACTICUM3
Elective Software Engineering Courses
Select two of the following:6
SPECIAL TOPICS: ADVANCED PROGRAMMING
APPLICATION SOFTWARE SECURITY
WEB-BASED PROGRAM
Required Math Courses
MATH 263DISCRETE MATHEMATICS3-4
or MATH 267 INTRODUCTION TO ABSTRACT MATHEMATICS
MATH 273CALCULUS I4
MATH 274CALCULUS II4
MATH 330INTRODUCTION TO STATISTICAL METHODS4
Science Requirement
Select either two math courses, or one math course and one science course, from the list below. (Acceptable science courses include those listed in the Science Requirement above in addition to the science courses listed here):8
THE SKY AND THE SOLAR SYSTEM
STARS, GALAXIES, AND THE EARLY UNIVERSE
INTRODUCTION TO CELLULAR BIOLOGY AND GENETICS [LECTURE]
and INTRODUCTION TO CELLULAR BIOLOGY AND GENETICS [LAB]
INTRODUCTION TO ECOLOGY AND EVOLUTION
GENERAL CHEMISTRY I LECTURE
and GENERAL CHEMISTRY I LABORATORY
GENERAL CHEMISTRY II LECTURE
and GENERAL CHEMISTRY II LABORATORY
PHYSICAL GEOLOGY
GENERAL PHYSICS I CALCULUS-BASED
GENERAL PHYSICS II CALCULUS-BASED
Elective Math/Science Courses
Select either two math courses or one math course and one science course. Acceptable science courses include those listed in the Science Requirement above or from the science courses listed below:7-9
ELEMENTARY LINEAR ALGEBRA
CALCULUS III
INTRODUCTION TO CRYPTOGRAPHY
APPLIED COMBINATORICS
INTRODUCTION TO ABSTRACT ALGEBRA
DIFFERENTIAL EQUATIONS
MATHEMATICAL MODELS
SCIENTIFIC MODELNG AND SIMULATION
NUMERICAL ANALYSIS I
OPERATIONS RESEARCH
GRAPH THEORY
GENERAL BOTANY
GENERAL ZOOLOGY
GENETICS
ANALYTICAL CHEMISTRY
INORGANIC CHEMISTRY
ORGANIC CHEMISTRY I
GENERAL PHYSICS III
BASIC ELECTRONICS
DIGITAL ELECTRONICS
Other Requirements (9 units)
Must be completed with a grade equivalent of 2.00 or higher.
COMM 131PUBLIC SPEAKING (Core 5)3
COSC 418ETHICAL AND SOCIETAL CONCERNS OF COMPUTER SCIENTISTS (Core 14)3
ENGL 317WRITING FOR BUSINESS AND INDUSTRY (Core 9)3
Total Units88-91

Suggested Four-Year Plan

Based on course availability and student needs and preferences, the selected sequences will probably vary from those presented below. Students should consult with their adviser to make the most appropriate elective choices.

Freshman
Term 1UnitsTerm 2Units
COSC 2364COSC 2374
MATH 273 (Core 3)4MATH 2744
Lab-Science (from approved list)4Lab-Science (from approved list)4
Core or Elective3Core or Elective3
 15 15
Sophomore
Term 1UnitsTerm 2Units
COSC 3364COSC 2904
MATH 2633COSC 4123
COMM 1313MATH 3304
Upper-level Science or MATH course4Core or Elective3
Core3 
 17 14
Junior
Term 1UnitsTerm 2Units
COSC 3503COSC 4553
COSC 4363COSC 4573
COSC 4393COSC 4183
ENGL 317 (Core 9)3Upper-level MATH Elective3
Core3Core or Elective3
 15 15
Senior
Term 1UnitsTerm 2Units
COSC 4323COSC 4423
Science/Math Elective (from approved list)3COSC 4903
Software Engineering Track Elective (from approved list)3Science/Math Elective (from approved list)3
Core or Elective3Core or Elective3
Core or Elective3Core or Elective3
 15 15
Total Units 121
  1. An ability to analyze a problem, and to identify and define the computing requirements appropriate to its solution.  
  2. An ability to design, implement, and evaluate a computer-based solution to meet a given set of computing requirements in the context of the discipline.  
  3. An ability to communicate effectively with a range of audiences about technical information. 
  4. An ability to make informed judgments in computing practice based on legal and ethical principles. 
  5. An ability to function effectively on teams to establish goals, plan tasks, meet deadlines, manage risk and produce deliverables.
  6. An ability to apply theory in the design and implementation of computer-based solutions. 
  7. An ability to reason about and explain computer-based solutions at multiple levels of abstraction.