Download Minor Degree in Computer Science

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Database model wikipedia , lookup

Object-relational impedance mismatch wikipedia , lookup

Transcript
Minor Degree in Computer Science
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 Minor 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 campuswide basis and are available through a separate information sheet.
University of Maine at Farmington
Minor Degree in Computer Science
(Curriculum drawn from http://catalog.umf.maine.edu/show.php?type=subcategory&id=86&version=2012-2013)
Typical Program showing Acceptable Transfer Courses
(Course transfer information is drawn from https://peportal.maine.edu and confirmed by involved faculty members.)
REQUIRED COURSES
Course
Course Title
Number
Intro to Computer Science
COS 140
Credits: 4
Course
Description
Data Structures
COS 142
Credits: 4
Course
Description
Networking TCP/IP
COS 280
ELECTIVE Credits: 4
USM
COURSES ACCEPTABLE FOR TRANSFER
UM
UM-A
UM-FK
UM-M
COS 161
COS 225
CIS 210
COS 285
COS 226
CIS 354
COS 460
COS 441
CIS 341
COS 452
COS 460
Course
Description
COS 355* Computer Graphics
ELECTIVE Credits: 4
Course
Description
COS 364* Alg Design & Analysis
ELECTIVE Credits: 4
COS 485
Course
Description
Prog Lang Concepts
COS 360
ELECTIVE Credits: 4
COS 360
COS 301
COS 450
COS 431
COS 457
COS 480
COS 492
Course
Description
Comp Oper Systems
COS 372
ELECTIVE Credits: 4
Course
Description
COS 455* Database Systems
ELECTIVE Credits: 4
CISA 210
CISA 210
UM-PI
Course
Description
Internet Computing
COS 120
ELECTIVE Credits: 4
Course
Description
Computer Organization
COS 241
ELECTIVE Credits: 4
COS 335
Course
Description
COS 341* Fund of Theory Comp
ELECTIVE Credits: 4
Course
Description
Int Topics in Computer
COS 377
ELECTIVE Science
Course
Description
Credits: 2 – 4
COS 477* Adv Topics in Computer
ELECTIVE Science
Course
Description
Credits: 2 – 4
Note:
Three COS electives should be chosen from the list above.
* Courses have prerequisites not included in minor
University of Maine at Farmington Computer Science Minor 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 userdefined 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