Courses Transferrable from Other UMS Campuses to the University of Maine at Farmington
The following chart provides general guidance as to which courses offered at other University of Maine System campuses will be accepted as transferable into the Bachelor of Arts in Computer Science undergraduate degree program at the University of Maine at Farmington.
As shown, links to course descriptions for all courses are provided. Additional courses beyond those listed may be acceptable for transfer as assessed by the appropriate course faculty on the campus to which the student is transferring.
Courses qualifying to fulfill General Education course requirements are handled on a campus-wide basis and are available through a separate information sheet.
University of Maine at Farmington
Bachelor of Arts: Computer Science
(Curriculum drawn from http://catalog.umf.maine.edu/show.php?type=program&id=6)
Typical Program showing Acceptable Transfer Courses
(Course transfer information is drawn from https://peportal.maine.edu and confirmed by involved faculty members.)
|
REQUIRED COURSES
|
COURSES ACCEPTABLE FOR TRANSFER
|
Course Number
|
Course Title
|
USM
|
UM
|
UM-A
|
UM-FK
|
UM-M
|
UM-PI
|
COS 140
Course Description
|
Intro to Computer Science
Credits: 4
|
COS 161
|
COS 225
|
CIS 210
|
CISA 210
|
CISA 210
|
|
COS 142
Course Description
|
Data Structures
Credits: 4
|
COS 285
|
COS 226
|
CIS 354
|
|
|
|
COS 280
Course Description
|
Networking TCP/IP
Credits: 4
|
COS 460
|
COS 441
|
CIS 341
|
|
|
|
COS 355
Course Description
|
Computer Graphics
Credits: 4
|
COS 452
|
COS 460
|
|
|
|
|
COS 364
Course Description
|
Alg Design & Analysis
Credits: 4
|
COS 485
|
|
|
|
|
|
COS 360
Course Description
|
Prog Lang Concepts
Credits: 4
|
COS 360
|
COS 301
|
|
|
|
|
COS 372
Course Description
|
Comp Oper Systems
Credits: 4
|
COS 450
|
COS 431
|
|
|
|
|
COS 455
Course Description
|
Database Systems
Credits: 4
|
COS 457
|
COS 480
COS 492
|
|
|
|
|
COS 120
ELECTIVE
Course Description
|
Internet Computing
Credits: 4
|
|
|
|
|
|
|
COS 241
ELECTIVE
Course Description
|
Computer Organization
Credits: 4
|
|
COS 335
|
|
|
|
|
COS 341
ELECTIVE
Course Description
|
Fund of Theory Comp
Credits: 4
|
|
|
|
|
|
|
COS 377
ELECTIVE
Course Description
|
Int Topics in Computer Science
Credits: 2 – 4
|
|
|
|
|
|
|
COS 477
ELECTIVE
Course Description
|
Adv Topics in Computer Science
Credits: 2 – 4
|
|
|
|
|
|
|
COS 497
ELECTIVE
Course Description
|
Ind Study in Computer Science II (varies)
Credits: 2 – 4
|
|
|
|
|
|
|
MAT 141M
Course Description
|
Calculus I
Credits: 4
|
MAT 152 and
MAT 152D
|
MAT 126
|
MAT 125
MATO 126
MATP 152D
|
MAT 255
MATA 125
MATO 126
MATP 152D
|
MAT 126
MATA125
MATP 152D
|
MAT 131
MATA 125
MATO 126
MATP
152D
|
MAT 151M
Course Description
|
Foundations of Abstract Mathematics
Credits: 4
|
MAT 290
|
|
|
|
|
MAT 251
|
MAT 220
Course Description
|
Data Analysis
Credits: 4
|
|
|
|
|
|
|
MAT 142
ELECTIVE
Course Description
|
Calculus II
Credits: 4
|
MAT 153
|
MAT 127
|
MAT 126
MATO 127
MATP 153
|
MAT 256
MATO 127
MATO 200
MATP 153
|
MAT 127
MATO 127
MATP 153
|
MATO 127
MATP 153
MAT 132
|
MAT 242
ELECTIVE
Course Description
|
Differential Equations
Credits: 4
|
|
|
|
|
|
|
MAT 251
ELECTIVE
Course Description
|
Linear Algebra
Credits: 4
|
MAT 295
|
MAT 262
|
MAT 262
|
MAT 280
|
|
MAT 274
|
MAT 333
ELECTIVE
Course Description
|
Graph Theory and Combinations
Credits: 4
|
|
|
|
|
|
|
MAT 367
ELECTIVE
Course Description
|
Intermediate Stats
Credits: 4
|
|
|
|
|
|
|
MAT 371
ELECTIVE
Course Description
|
Mathematical Probability
Credits: 4
|
|
|
|
|
|
|
Note: Four COS electives (at least three must be numbered above 300) and one MAT elective should be chosen from the list above. Students are advised that an equivalent COS 377 can be taken for COS 372; an equivalent COS 377 can be taken for COS 455.
|
University of Maine at Farmington Computer Science Course Descriptions
COS 140 - Introduction to Computer Science
Using the framework of problem solving and programming in the object-oriented paradigm, this course introduces the fundamental concepts and techniques of Computer Science. Students learn how to develop problem solutions by integrating pre-defined or user-defined data objects and the control algorithms that make use of the objects. Topics include object design and use, algorithmic control structures, interactive and file-based input/output and some basic structured data objects such as strings, arrays, lists and tables. Every year.
Credit: 4
COS 142 - Data Structures
The focus of this course is deeper study of the concepts of structured data types, in particular their design and specification in an object-oriented framework. Data structures such as lists, stacks, queues and trees will be examined, both in terms of how they can be implemented by a programmer and how they can be used to develop solutions for larger problems. New object-oriented programming concepts such as inheritance, polymorphism and generic classes will be introduced as techniques to aid in the implementation of these structures, and related algorithmic topics such as recursion, searching and sorting will be studied.
Prerequisite(s): COS 140 and either MAT 141M or MAT 151M. Every spring.
Credit: 4
COS 280 - Networking Using TCP/IP
This course provides an extensive study of both the OSI model as well as the TCP/IP protocol suite. Examination of wired and wireless technologies. Topics include IP addressing, routing, ARP, details of the IP and TCP protocols, ICMP, UDP, DHCP, DNS, application protocols such as mail and http. Introduction to the Linux operating system including user/group management, processes, basic bash scripting, permissions, file system design (inode structure). Applications involve setting up (in Linux) a network and providing DHCP and DNS servers for that network, Study of firewalls and setting up a firewall such as Iptables, and use of a packet analyzer to better understand the protocols and diagnose problems.
Prerequisites: COS 142. Every spring.
Credit: 4
COS 355 - Computer Graphics
Mathematical techniques for generating computer graphics of 2- and 3- dimensional objects will be studied. Implementation of these concepts, up to and including perspective projection and 3D transformations, in a higher level language will be involved. At this point, an API (usually OpenGL) will be used to aid in the writing of more sophisticated applications involving lighting and texture mapping. A study and design of the human interaction component, dealing with graphical design interfaces and event-driven programming, occurs throughout the course. Selected additional topics may include game programming, image processing, ray tracing, and designing more complex graphical interfaces. The course has a laboratory component.
Prerequisite(s): MAT 141M and COS 142. Every fall.
Credit: 4
COS 360 - Programming Language Concepts
An examination of issues involved in the design and implementation of high-level computer languages. Starting from a working interpreter for a very simple programming language, we first consider general issues such as syntax grammars, semantic descriptions, and the mechanisms used in translating a high-level language into an equivalent lower-level executable form. Following that we gradually introduce new language features, each requiring further modifications to our language's syntax and interpreter, which provides a basis for studying more advanced programming language features.
Prerequisite(s): COS 142. Odd fall.
Credit: 4
COS 364 - Algorithm Design and Analysis
Examines algorithm design techniques such as divide-and-conquer, dynamic programming, the greedy approach, backtracking, and branch-and-bound. Representative algorithms are studied in each category, with an emphasis on demonstrating an algorithm's correctness and analyzing its efficiency in terms of computing time and storage space requirements. The notion of intractable problems is introduced, along with efficient approaches to these problems, such as approximation algorithms.
Prerequisite(s): COS 142 and MAT 151M. Even fall.
Credit: 4
COS 372 - Computer Operating Systems
An investigation of operating system concepts including processes, threads, CPU scheduling, process synchronization, deadlocks, memory management, caching policies, storage management (file-systems, mass storage structure, I/systems), protection distributed systems. Case study of a particular operating system (usually Linux). Programming projects applied to selected topics. Prerequisite(s): COS 142, and COS 280. Every year.
Credit: 4
COS 455 - Database Systems
The course studies the fundamentals of database modeling and design, the languages and facilities provided by a database management system, and programmatic interfaces to the database (including web access). Emphasis is on the relational database model. Theoretical topics include: data modeling using the entity-relationship model, schema definition, relational algebra, functional dependencies and normal forms, queries, data storage and physical design, and indexing structures for files. In addition, there is a laboratory component that uses the Oracle database. In the laboratory, the topics include: SQL query language, PL/SQL language, creation of a web interface to the database. The web interface will involve either the Oracle PL/SQL toolkit, other Oracle products, Java and JDBC, C#, or a scripting language.
Prerequisite(s): 12 credits of Computer Science including COS 142 and MAT 151M. Every spring.
Credit: 4
COS 120 - Internet Computing
In this course students will learn about a variety of Internet computing topics including but not limited to web programming, web site design and management, server-side technologies, social networking, Web 2.0, and mobile computing. Specific technologies covered include but are not limited to HTML, CSS, Javascript, XML, database management and querying, Web API's, and Ajax. There will be an emphasis on the meaningful use of current technology to communicate effectively. Every two years.
Credit: 4
COS 241 - Computer Organization
This course is intended to give students a broad overview of computer organization at a number of different levels. The lowest level is the assembly language level. Students will gain an understanding of instruction set architecture design and tradeoffs. The next level, fundamentals of logic design, provides an understanding of the implementation of a given architecture. Topics include adders, shifters, multipliers, and flip-flops. Higher levels include pipelining and caches. Other topics include storage (along with input/output) and multiprocessors. Laboratory work includes an assembler with which students write assembly language programs and possibly a digital logic design package.
Prerequisite(s): COS 140. Every fall.
Credit: 4
COS 341 - Fund of Theory Comp
Credit: 4
COS 377 - Intermediate Topics in Computer Science
Each time this course is offered a Computer Science topic will be chosen which requires a background (at least 12 hours) in college level computing experience. It may be repeated for credit with different topics. The topics offered will be ones which are not covered in the regular course offerings of the division.
Prerequisite(s): Minimum 12 credits of Computer Science, including COS 142. Varies.
Credit: 4
COS 477 - Advanced Topics in Computer Science
Each time COS 477 is offered the content will be determined by the needs of the students and the interests of the faculty. However, the content will deal with the area of databases since this course can satisfy the Computer Science major requirement of COS 455. It may be repeated for credit with different database topics.
Prerequisite(s): 12 credits of Computer Science including COS 142. Varies.
Credit: 4
COS 497 - Independent Study in Computer Science III
An opportunity to pursue independent study of selected computer science topics under the direction of a faculty member. The course may be repeated for a different topic.
Prerequisite(s): 12 credits of Computer Science and permission of instructor. Varies.
Credit: 1-4
MAT 141M - Calculus I
Introduction to the basic concepts of limit, differentiation, and integration; study of their applications to problems in rates of change, extrema, and area between curves. Includes both rational and transcendental functions. Every semester.
Credit: 4
MAT 151M - Foundations of Abstract Mathematics
This course considers the basic objects of mathematics and the methods used to elucidate their properties. Predicate logic and the theory of sets, relations, functions and the natural numbers will be discussed. The student will learn about proving properties of these objects.
Prerequisite(s): Three years of high school mathematics (two years of Algebra and one of Geometry.) Letter grade. Every semester.
Credit: 4
MAT 220M - Data Analysis
This course is intended for those majoring in mathematics, secondary mathematics education, or computer science. The course is designed to contain the content of AP statistics, but at the deeper level required for pre-service teachers. Topics covered include descriptive statistics, regression and correlation, sampling and experimentation, basic probability, normal distributions, sampling distributions, point estimation, confidence intervals, hypothesis testing for means and proportions, two-sample t-tests for means, chi-squared tests, and possible other topics. Appropriate technology will be used.
Prerequisite(s): MAT 141M or permission of instructor. Every fall.
Credit: 4
MAT 142 - Calculus II
Continuation of the investigation of differentiation and integration begun in MAT 141M, examining techniques of integration, indeterminate forms, and infinite series including Taylor series. Applications studied will include volumes of solids of revolution and work.
Prerequisite(s): MAT 141M with a grade of C- or better. Every spring.
Credit: 4
MAT 242 - Differential Equations
An introduction to Ordinary Differential Equations focusing on first order equations, linear equations of higher order, systems of differential equations, and basic numerical methods. Other topics will be considered as time permits.
Prerequisite(s): MAT 142. Even spring.
Credit: 4
MAT 251 - Linear Algebra
Introduction to linear algebra and its applications. Topics may include matrix operations, systems of linear equations, determinants, vector spaces, linear transformations, orthogonality, eigenvalues, Markov processes, linear programming and the use of mathematical software in modeling and problem solving.
Prerequisite(s): Two years of high school algebra or permission of instructor. Every spring.
Credit: 4
MAT 333 - Graph Theory and Combinatorics
The two areas of Mathematics considered in this course highlight the interplay between different parts of Mathematics. The elementary and sophisticated counting methods of Combinatorics elucidate properties of Graphs while the Theory of Graphs stimulates and provides insights into counting methods. Applications to the understanding of problems are an integral part of the course.
Prerequisite(s): MAT 151M. Odd spring.
Credit: 4
MAT 367 - Intermediate Statistics
The focus of this course is determining and conducting the appropriate analysis for different types of data and various applications. Topics covered include experimental design, power, confidence intervals and hypothesis testing for two populations, contingency tables, one-way and two-way ANOVA, multiple regression, logistic regression, and non-parametric statistics. A statistical computer package will be used.
Prerequisite(s): MAT 120M or MAT 220M. Odd spring.
Credit: 4
MAT 371 - Mathematical Probability
An introduction to Probability using the tools learned in courses through Calculus. Combinatorial and integral methods will be used to calculate probabilities and expectations of functions of random variables. There will be discussion of Discrete and Continuous Probability Distributions including Binomial, Poisson, Normal, Gamma and Multivariate Distributions.
Prerequisite(s): MAT 142. Every fall.
Credit: 4
Share with your friends: |