Bachelor of Science Degree in Computer Science Courses Transferrable from Other UMS Campuses to the University of Maine 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 Science in Computer Science undergraduate degree program at the University of Maine. 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 Bachelor of Science: Computer Science (Curriculum drawn from http://catalog.umaine.edu/preview_program.php?catoid=53&poid=4905&returnto=1213) 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 ENG 101 College Composition Course Credits: 3 Course Description CMJ 103 Course Description MAT126 Calculus I, Credits: 4 MAT 152 MAT 152B Calculus II, Credits: 4 MAT 153 MAT 153D MAT 227 MATP 153 MAT 142 MAT 142M Calculus III, Credits: 4 MAT 252 MAT 252D MAT 228 MATP 252 MAT 241 MAT 241M Business and Technical Writing, Credits: 3 Fundamentals of Public Communication, Credits: 3 Course Description MAT 127 Course Description MAT 228 Course Description / Syllabus MAT 434 Course Description COS 125 Course Description COS 140 Course Description COS 225 ENG 100C ENG 101 ENG 101C ENG 104C ESL 100C HON 100C RSP 100 COURSES ACCEPTABLE FOR TRANSFER UM-A UM-F UM-FK UM-M ENG 101 ENG 101A ENGB 101 ENGF 100 ENGI 101 ENGK 100 ENGM 101 ENGP 100C ENG 117 ENG 117W ENGB 230 ENGI 315 ENGK 380 COM 101 ENGK 200 SPE 101 SPEB 101 MAT 126 MAT152D Description ENG 317 USM Introduction to Statistics, Credits: 4 Introduction to Problem Solving Using Computer Programming, Credits: 3 Foundations of Computer Science, Credits: 3 Introduction to Object- THE 170 UM-PI ENG 100 ENG 100F ENG 101 ENG 100 ENG 101 ENG 101H ENGA 101 ENG 101 ENGA 101 ENGK 100 ENGM 101 ENGO 101 ENGP 100C ENG 209 ENG 380 ENGA 117 BUS 212 SPE 101 COM 200 ENG 200 ENG 104 SPE 104 ENGA 117 ENGA 117W ENGM 208 ENGO 317 PCJ 315 COM 101 ENGK 200 ENGM 104 MAT 141 MAT 141M MAT 255 MAT 126 MAT 131 MATO 126 MAT 256 MAT 127 MAT 132 MATO 127 MAT 231 Course Description COS 226 Course Description COS 250 Course Description COS 301 Course Description COS 335 Course Description / Syllabus COS 350 Course Description COS 397 Course Description COS 420 Course Description COS 431 Course Description COS 451 Course Description COS 490 Course Description COS 497 Course Description Oriented Programming and Design, Credits: 4 Introduction to Data Structures, Credits: 3 Discrete Structures, Credits: 3 COS 280 Programming Languages, Credits: 3 COS 360 Computer Organization and Architecture, Credits: 4 CIS 354 Data Structures and Algorithms, Credits: 3 Computer Science Capstone 1, Credits: 2 COSO 420 Introduction to Software Engineering, Credits: 3 Operating Systems, Credits: 3 LAC 317 COS 450 Automata, Computability, and Languages, Credits: 3 Computers, Ethics and Society, Credits: 3 Computer Science Capstone 2, Credits: 1 ELECTIVES* Note: * Students must take three additional courses from COS 398, COS 4XX, and COS 5XX. Students must also take a minimum of 14 credit hours of science. This must include a two-semester sequence of a laboratory science such as PHY 121 and PHY 122. See the campus-wide General Education transfer assessment sheet for science courses that may be transferred from other campuses to meet this requirement. University of Maine Computer Science Course Descriptions ENG 101 – College Composition Students practice the ways in which writing serves to expand, clarify, and order experience and knowledge, with particular attention to persuasive writing. Satisfactory completion of the course depends upon quality of weekly writing assignments as well as demonstration of proficiency in college-level writing. Credits: 3 ENG 317 – Business and Technical Writing Supervised practice in the writing of business and technical reports, professional correspondence, and related materials. Satisfies the General Education Writing Intensive Requirement. Prerequisites: ENG 101 or equivalent and junior standing. Credits: 3 CMJ 103 – Fundamentals of Public Communication The nature and problems of public speech communication, with practical experience in representative speaking situations. Participation in research to a maximum of 3 hours is expected. Satisfies the General Education Social Contexts and Institutions Requirement. Credits: 3 MAT 126 – Calculus I An introduction to calculus for students in mathematics, engineering, and the sciences. Covers the differential calculus of the algebraic, trigonometric, exponential and logarithmic functions, concluding with the definite integral and the fundamental theorem of calculus. The approach is intuitive and geometric, with emphasis on understanding the basic concepts of function, limit, derivative and integral. Satisfies the General Education Mathematics Requirement. Prerequisites: For new Fall admits in their first semester, a passing score on Part 3 of the Math Placement Exam. For all other students, a grade of C or better in MAT 122. Credits: 4 MAT 127 – Calculus II Completes the study of single-variable calculus. Topics covered include inverse trigonometric functions, hyperbolic functions, methods of integration, improper integrals, indeterminate forms, parametric Satisfies the General Education Mathematics Requirement. Prerequisites: A grade of C or better in MAT 126. Credits: 4 MAT 228 – Calculus III For students of mathematics, engineering and the sciences. Vector algebra, geometry and calculus; multivariable differential and integral calculus, including the theorems of Gauss, Green and Stokes. Prerequisites: A grade of C or better in MAT 127. Credits: 4 MAT 434 – Introduction to Statistics Topics include probability, random variables, continuous and discrete distributions, point and interval estimation, tests of hypotheses, linear regression and correlation, analysis of variance. Prerequisites: A grade of C or better in MAT 228. Credits: 4 COS 125 – Introduction to Problem Solving Using Computer Programming Students are introduced to programming as a tool for problem solving. Basic programming practices, data structures and the analysis of algorithms are introduced. A language such as Scheme, ML or Python will be used. Required for majors. Satisfies the General Education Mathematics Requirement. Course Typically Offered: Fall and Spring semesters. Credits: 3 COS 140 – Foundations of Computer Science Introduces students to the discipline of computer science. Several core areas of computer science (e.g., digital logic, computer organization and architecture, programming languages, operating systems, computer networks, artificial intelligence, and professional ethics) are covered. In each area, particular solutions to fundamental problems in the area are studied in depth. No programming is taught in the course. Credits: 3 COS 225 – Introduction to Object-Oriented Programming and Design Introduces the student to the fundamental principles of object-oriented design and programming using a high-level object-oriented language. Focuses on the specification, design, and implementation of classes and the interactions between classes. Covers more advanced object-oriented concepts such as inheritance, abstract classes, and polymorphism. Satisfies the General Education Mathematics Requirement. Prerequisites: COS 125. Credits: 4 COS 226 – Introduction to Data Structures Introduces the student to the fundamental principles of data structure usage, specification, and implementation using a high-level, object-oriented language. Driven by the use of object-oriented techniques for program specification and modeling. Focuses on how data structure implementation choices affect and are affected by application needs. Satisfies the General Education Mathematics Requirement. Prerequisites: COS 225. Credits: 3 COS 250 – Discrete Structures Introduction to discrete structures used in various areas of computer science. Topics include logic, sets, relations, functions, cardinality, enumeration, and computability. Prerequisites: COS 225, MAT 126. Credits: 3 COS 301 – Programming Languages Formal description of programming languages including specification of syntax and semantics. Discussion of infix, prefix, and postfix notation with translation techniques. Topics include branching, grouping of statements, storage allocation, list and string processing, relation of language design to efficiency. Satisfies the General Education Writing Intensive Requirement. Prerequisites: COS 226 and COS 250. COS 335 – Computer Organization and Architecture Examines the architecture and organization of the computer including digital logic, the CPU, busses, internal and external memory, computer number representation and arithmetic, computer instructions and some advanced topics (e.g., RISC machines). Particular attention is paid to assembly language as a mechanism for better understanding the architecture, and students will be expected to write significant programs in assembly language. Prerequisites: COS 140 and COS 226. Credits: 4 COS 350 – Data Structures and Algorithms Introduction to abstract data types as a unifying concept in the study of data structures. Topics include lists, queues, multi-linked lists, priority queues, trees, and graphs. The impact of these structures on algorithm design is explored. External memory management is discussed. Prerequisites: COS 226 and COS 250. Credits: 3 COS 397 – Computer Science Capstone 1 The first of a two-course sequence, designed to guide students in proposing the Capstone project in either an independent study, group project, or field experience format. The focus is on the early stages of project work, including finding a suitable topic and project advisor, investigating related work, and writing a thorough project proposal. The relevant skills are covered and practiced by studying a collection of classic and topical papers. Upon completion of the two course sequence (COS 397 & COS 497), satisfies the General Education Writing Intensive and Capstone Experience Requirements. Prerequisites: COS Majors with at least Junior standing and permission. Credits: 2 COS 420 – Introduction to Software Engineering A broad view of software engineering which introduces a variety of software engineering techniques which can be applied to practical software projects. Topics include process models, human factors, software specification; software design, programming techniques and tools, and validation. Prerequisites: COS 431 or permission; junior standing. Credits: 3 COS 431 – Operating Systems Study of the structure of current computer operating systems. Topics include I/O management, memory management, multiprogramming, linking loaders, real and virtual systems, batch and time sharing. Prerequisites: COS 226, COS 335 or permission. Credits: 3 COS 451 – Automata, Computability, and Languages Fundamentals of formal languages and the mathematical theory of computation; finitestate automata, nondeterminism, regular expressions, and Kleene’s Theorem; context-free grammars, pushdown automata, the correspondence theorem and the pumping lemma; computability, Turning machines, and the halting problem. Prerequisites: COS 250. Credits: 3 COS 490 – Computers, Ethics and Society Consideration of human and social consequences of technological development and application of computers, ethical questions of computer use, professional ethics. Satisfies the General Education Ethics and Writing Intensive Requirements. Prerequisites: COS 431, ENG 317. Credits: 3 COS 497 – Computer Science Capstone 2 The second of a two-course sequence, designed to guide students in completing the Capstone project in either an independent study, group project, or field experience format. The focus is on the later stages of project work, including completing the programming tasks, evaluating the implemented systems, documenting all work in a project report, demonstrating the work in action, and making a public oral presentation. The relevant skills are covered and practiced by studying a collection of classic and topical papers. Upon completion of the two course sequence (COS 397 & COS 497), satisfies the General Education Writing Intensive and Capstone Experience Requirements. Prerequisites: COS Majors with Senior standing, COS 397, and permission. Credits: 1