University of Maine at Farmington 2017-2018 Catalog

The University
Academic Organization, Faculty Listing
Academic Programs
Admission, Costs, Financial Aid
Academic Policies
UMF Logo

Computer Science
Print This Page

Degree Earned
Bachelor of Arts: Computer Science

This program provides a solid foundation of computer knowledge, research opportunities, and hands-on experience. Courses on computer architecture and hardware, database systems, networking, computer languages, algorithm design and analysis, and computer graphics are put to use as students design independent study projects, pursue internships, or take advantage of on-campus work opportunities, such as working in the computer labs. The small student-faculty ratio enables the faculty to mentor students and help them develop strong critical and independent thinking skills. Graduates are prepared for employment as software developers, database specialists, network administrators, computer facility managers, and graduate study.

Learning Goals:

  • Students will be able to design and implement algorithms using appropriate data structures.
  • Students will be able to analyze algorithms and determine their complexity.
  • Students will be able to design and implement three-dimensional graphical scenes, applying mathematical concepts.
  • Students will be able to understand the theoretical and applied aspects of databases and will be able to design and interact with a database.
  • Students will be able to use the TCP/IP protocol suite in managing network communications.
  • Students will be able to understand processes and threads and will be able to apply this knowledge to designing and implementing concurrent algorithms.
  • Students will be able to use programming languages in a variety of paradigms.
  • Students will be able to communicate computing concepts both in writing and orally.
  • Students will be able to read technical computing material.

Assessment Criteria:

Students will acquire a coherent and broad-based knowledge of the discipline of computing. Graduates should develop a reasonable level of understanding of each subject area and of the processes that define the discipline, as well as an appreciation for the interrelationships that exist among them. The areas of study will include:

  • algorithms and data structures
  • architecture/computer organization
  • database and information retrieval
  • human-computer interaction
  • graphics
  • operating systems
  • programming languages
  • numerical and symbolic computation



COS 140 Introduction to Computer Science                             4
COS 142 Data Structures 4
COS 280 Networking Using TCP/IP 4
COS 355 Computer Graphics 4
COS 360 Programming  Language Concepts 4
COS 364 Algorithm Design and Analysis 4
COS 372 Computer Operating Systems 4
COS 455 Database Systems 4

Four COS electives chosen from the following: 16

(at least three must be numbered above 300)

COS 120 Web Development 4
COS 241 Computer Organization 4
COS 377 Intermediate Topics in Computer Science 2-4
COS 477 Advanced Topics in Computer Science 2-4
COS 497 Independent  Study in Computer Science III (varies) 2-4

Subtotal: 48

Supporting Mathematics Courses (16 credits):

MAT 141M Calculus I 4
MAT 151M Foundations of Abstract Mathematics              4
MAT 120M Introductory Statistics  
MAT 220 Data Analysis 4

One MAT elective chosen from the following:

MAT 142 Calculus II 4
MAT 242 Differential Equations 4
MAT 251 Linear Algebra 4
MAT 333 Graph Theory and Combinatorics            4
MAT 367 Intermediate Statistics 4
MAT 371 Mathematical Probability 4


Total Credits for the Major: 64

Note: An equivalent COS 377 can be taken for COS 372; an equivalent COS 377 can be taken for COS 455.

One year of one foreign language at the college level or two years of one foreign language at the high school level.

For specific information about general education requirements and expectations, see the General Education Requirements in the Academic Programs section of this catalog.


See other years' Catalogs