Minor Degree in Computer Science Courses Transferrable from Other UMS Campuses to the University of Southern 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 Minor in Computer Science undergraduate degree program at the University of Southern 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 Southern Maine Minor Degree: Computer Science (Curriculum drawn from http://www.usm.maine.edu/cos/minor-computer-science) 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 COS 160 Structured Problem Solving: Course Java Description Credits: 3 COS 161 Algorithms in Programming Course Credits: 3 Description COS 170 Structured Programming Course Laboratory Description Credits: 1 COS 250 Computer Organization Course Credits: 3 Description COS 255 Computer Organization Course Laboratory Description Credits: 1 COS 285 Data Structures Course Credits: 3 Description UM COURSES ACCEPTABLE FOR TRANSFER UM-A UM-F UM-FK UM-M COS 230 COS 351 COS 350 COS 251 UM-PI COS 25X* (and upper) COS 25X* (and upper) Note: *Students should choose two additional COS courses numbered 250 or greater, excluding COS 398 and COS 498. University of Southern Maine Computer Science Minor Course Descriptions COS 160 Structured Problem Solving: Java An introduction to the use of digital computers for problem solving, employing the Java programming language as a vehicle. Content includes elementary control structures and data representation methods provided by Java and the object-oriented programming methodology. Course requirements include a substantial number of programming projects. This course must be taken concurrently with COS 170. Offered each semester. Prerequisite: successful completion of the USM mathematics proficiency requirement. Credits: 3. COS 161 Algorithms in Programming The development of algorithms and their implementations in a higher-level programming language, with emphasis on proper design principles and advanced programming concepts. Introduction to the performance analysis of algorithms. Course requirements include substantial programming projects. Offered each semester. Prerequisites: COS 160, and working knowledge of word processing and Web browsing. Credits: 3. COS 170 Structured Programming Laboratory Computational experiments will be designed to teach students how to construct reliable software using Java. Topics to be covered include: Windows system, conditional program flow, iteration, procedures and functions, and symbolic debugging. Offered each semester. This course must be taken concurrently with COS 160. Credits: 1. COS 250 Computer Organization The basic hardware, architecture, and software of computer systems are covered. Subjects include digital logic design, microprogramming, machine languages, assembly languages, and operating systems. Prerequisite: COS 161. This course must be taken concurrently with COS 255. Typically offered only in the spring semester. Credits: 3. COS 255 Computer Organization Laboratory Students design, build, and test combinational and sequential logic circuits and write assembly language programs. Typically offered only in the spring semester. This course must be taken concurrently with COS 250. Credits: 1. COS 285 Data Structures Basic abstract data types and their representations, fundamental algorithms, and algorithm analysis. Consideration is given to applications. Specific topics include linked structures, trees, searching and sorting, priority queues, graphs, and hashing. Course requirements include a substantial programming component. Typically offered only in the fall semester. Prerequisites: COS 161 and either of MAT 145 or MAT 152, or their equivalents. Credits: 3.