Major in Computer Science - Software Engineering Track

Department website: http://www.towson.edu/cosc

The Computer Science major with a track in Software Engineering requires 87–89 units. A minimum of 30 major units must be taken at Towson University.

Required Computer Science Courses
CIS 377INTRODUCTION TO CYBERSECURITY3
COSC 236INTRODUCTION TO COMPUTER SCIENCE I 14
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
INTERNSHIP IN COSC
MOBILE APPLICATION DEVELOPMENT
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 two lab science courses from the following (the courses do not need to form a sequence):8
BIOLOGY I: INTRODUCTION TO CELLULAR BIOLOGY AND GENETICS [LECTURE]
and BIOLOGY I: INTRODUCTION TO CELLULAR BIOLOGY AND GENETICS [LAB]
BIOLOGY II: INTRODUCTION TO ECOLOGY AND EVOLUTION [LECTURE]
and BIOLOGY II: INTRODUCTION TO ECOLOGY AND EVOLUTION [LAB]
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 Course
Select one math course from the list below:3-4
ELEMENTARY LINEAR ALGEBRA
CALCULUS III
INTRODUCTION TO CRYPTOGRAPHY
APPLIED COMBINATORICS
INTRODUCTION TO ABSTRACT ALGEBRA
DIFFERENTIAL EQUATIONS
MATHEMATICAL MODELS
EXPERIMENTAL MATHEMATICS
NUMERICAL ANALYSIS I
OPERATIONS RESEARCH
GRAPH THEORY
Other Requirements
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 Units87-89
1

COSC 175 is a prerequisite for COSC 236

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 23614COSC 2374
MATH 273 (Core 3)4MATH 2744
Lab-Science (from approved list) (Core 7)4Lab-Science (from approved list) (Core 8)4
Core 1 (or Core 2)3Core 2 (or Core 1)3
 15 15
Sophomore
Term 1UnitsTerm 2Units
CIS 3773COSC 2904
COMM 131 (Core 5)3COSC 4123
COSC 3364MATH 3304
MATH 263 or 2673Core 43
 Elective3
 13 17
Junior
Term 1UnitsTerm 2Units
COSC 3503COSC 4553
COSC 4363COSC 4573
COSC 4393COSC 418 (Core 14)3
ENGL 317 (Core 9)3MATH Elective3
Core 63Core 103
 15 15
Senior
Term 1UnitsTerm 2Units
COSC 4323COSC 4423
Software Engineering Track Elective (from approved list)3COSC 4903
Core 113Software Engineering Track Elective (from approved list)3
Core 123Core 133
Elective3Elective3
 15 15
Total Units 120
1

COSC 175 and (MATH 119 or MATH 231 or a qualifying score in the Math placement test) is needed as a prerequisite to COSC 236.

  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.