Wed Apr 24 13:26:28 2013
Approvals Received: |
|
|||
---|---|---|---|---|
Approvals Pending: | Provost > Catalog | |||
Effective Status: | Active | |||
Effective Term: | 1139 - Fall 2013 | |||
Course: | CSCI 1933 | |||
Institution: Campus: |
UMNTC - Twin Cities UMNTC - Twin Cities |
|||
Career: | UGRD | |||
College: | TIOT - College of Science and Engineering | |||
Department: | 11108 - Computer Science & Eng | |||
General | ||||
Course Title Short: | Intro Algs & Data Str. | |||
Course Title Long: | Introduction to Algorithms and Data Structures | |||
Max-Min Credits for Course: |
4.0 to 4.0 credit(s) | |||
Catalog Description: |
Advanced object oriented programming to implement abstract data types (stacks, queues, linked lists, hash tables, binary trees) using the Java language. Inheritance. Searching/sorting algorithms. Basic algorithmic analysis. Use of software development tools. Weekly lab. | |||
Print in Catalog?: | Yes | |||
CCE Catalog Description: |
<no text provided> | |||
Grading Basis: | Stdnt Opt | |||
Topics Course: | No | |||
Honors Course: | No | |||
Online Course: | No | |||
Instructor Contact Hours: |
4.0 hours per week | |||
Years most frequently offered: |
Every academic year | |||
Term(s) most frequently offered: |
Fall, Spring, Summer | |||
Component 1: |
LEC (with final exam) | |||
Component 2: |
LAB (no final exam) |
|||
Auto-Enroll Course: |
Yes | |||
Graded Component: |
LAB | |||
Academic Progress Units: |
Not allowed to bypass limits. 4.0 credit(s) |
|||
Financial Aid Progress Units: |
Not allowed to bypass limits. 4.0 credit(s) |
|||
Repetition of Course: |
Repetition not allowed. | |||
Course Prerequisites for Catalog: |
1133 or #. | |||
Course Equivalency: |
No course equivalencies | |||
Consent Requirement: |
No required consent | |||
Enforced Prerequisites: (course-based or non-course-based) |
No prerequisites | |||
Editor Comments: | <no text provided> | |||
Proposal Changes: | <no text provided> | |||
History Information: | <no text provided> | |||
Faculty Sponsor Name: |
Maria Gini | |||
Faculty Sponsor E-mail Address: |
gini@cs.umn.edu | |||
Student Learning Outcomes | ||||
Student Learning Outcomes: |
* Student in the course:
- Can identify, define, and solve problems
Please explain briefly how this outcome will be addressed in the course. Give brief examples of class work related to the outcome. CSci 1933 is focused on the use of algorithms and data structures to solve problems. Specifically, the course labs, homework assignments, and exams all ask the students to solve various problems using appropriate software design methods and software tools. For example, students need to decide which problem solving strategies (such as divide and conquer) might be useful for a specific problem, construct a solution, design appropriate data types and algorithms, and verify the correctness of the solution. How will you assess the students' learning related to this outcome? Give brief examples of how class work related to the outcome will be evaluated. This SLO will be assessed through labs, homeworks, exams, and in-class exercises. Each of these types of students' work is problem-based; most involve open-ended problems where students need first to identify, define, and/or clarify what the problem is before solving it, and explain the solution they propose. | |||
Liberal Education | ||||
Requirement this course fulfills: |
None | |||
Other requirement this course fulfills: |
None | |||
Criteria for Core Courses: |
Describe how the course meets the specific bullet points for the proposed core
requirement. Give concrete and detailed examples for the course syllabus, detailed
outline, laboratory material, student projects, or other instructional materials or method.
Core courses must meet the following requirements:
<no text provided> |
|||
Criteria for Theme Courses: |
Describe how the course meets the specific bullet points for the proposed theme
requirement. Give concrete and detailed examples for the course syllabus, detailed outline,
laboratory material, student projects, or other instructional materials or methods. Theme courses have the common goal of cultivating in students a number of habits of mind:
<no text provided> |
|||
LE Recertification-Reflection Statement: (for LE courses being re-certified only) |
<no text provided> | |||
Writing Intensive | ||||
Propose this course as Writing Intensive curriculum: |
No | |||
Question 1 (see CWB Requirement 1): |
How do writing assignments and writing instruction further the learning objectives
of this course and how is writing integrated into the course? Note that the syllabus must
reflect the critical role that writing plays in the course. <no text provided> |
|||
Question 2 (see CWB Requirement 2): |
What types of writing (e.g., research papers, problem sets, presentations,
technical documents, lab reports, essays, journaling etc.) will be assigned? Explain how these
assignments meet the requirement that writing be a significant part of the course work, including
details about multi-authored assignments, if any. Include the required length for each writing
assignment and demonstrate how the minimum word count (or its equivalent) for finished writing will
be met. <no text provided> |
|||
Question 3 (see CWB Requirement 3): |
How will students' final course grade depend on their writing performance?
What percentage of the course grade will depend on the quality and level of the student's writing
compared to the percentage of the grade that depends on the course content? Note that this information
must also be on the syllabus. <no text provided> |
|||
Question 4 (see CWB Requirement 4): |
Indicate which assignment(s) students will be required to revise and resubmit after
feedback from the instructor. Indicate who will be providing the feedback. Include an example of the
assignment instructions you are likely to use for this assignment or assignments. <no text provided> |
|||
Question 5 (see CWB Requirement 5): |
What types of writing instruction will be experienced by students? How much class
time will be devoted to explicit writing instruction and at what points in the semester? What types of
writing support and resources will be provided to students? <no text provided> |
|||
Question 6 (see CWB Requirement 6): |
If teaching assistants will participate in writing assessment and writing instruction,
explain how will they be trained (e.g. in how to review, grade and respond to student writing) and how will
they be supervised. If the course is taught in multiple sections with multiple faculty (e.g. a capstone
directed studies course), explain how every faculty mentor will ensure that their students will receive
a writing intensive experience. <no text provided> |
|||
Readme link.
Course Syllabus requirement section begins below
|
||||
Course Syllabus | ||||
Course Syllabus: |
For new courses and courses in which changes in content and/or description and/or credits
are proposed, please provide a syllabus that includes the following information: course goals
and description; format;structure of the course (proposed number of instructor contact
hours per week, student workload effort per week, etc.); topics to be covered; scope and
nature of assigned readings (text, authors, frequency, amount per week); required course
assignments; nature of any student projects; and how students will be
evaluated. The University "Syllabi Policy" can be
found here
The University policy on credits is found under Section 4A of "Standards for Semester Conversion" found here. Course syllabus information will be retained in this system until new syllabus information is entered with the next major course modification. This course syllabus information may not correspond to the course as offered in a particular semester. (Please limit text to about 12 pages. Text copied and pasted from other sources will not retain formatting and special characters might not copy properly.) Sample Syllabus Class Format 4 credits, 3 hour long lectures + 2 lab hours per week. The lab is used for programming and more in-depth discussion of topics and examples given in class. Since one of the emphases of the class is on developing students' problem solving skills, the practice given in the lab will be highly valuable for many students. CSci 1933 focuses on learning the key abstract data types ( list, stack, queue, tree) and object oriented concepts (class, object, method, inheritance) in the Java programming language. In addition the course introduces students to the use of modern debugging and software development tools. CSci 1933 is a required undergraduate course which computer science and computer engineering students should take in their freshman or sophomore year. It is one of the courses required for admission to the CSci major, and is a prerequisite for many of the higher level CSci classes. Transfer students who have completed 2 years at another school should have taken an equivalent class. Why This Class is Important and its Role in the Curriculum Much of computer science assumes familiarity with the common abstract data types (e.g. stacks) and basic concepts of an object oriented programming language. Moreover, many employers require programming skills in a modern object oriented programming language such as Java. Prerequisites and Rationale CSci 1133 builds fundamental problem solving and programming skills, and prepares students for learning the more complex Java language. Classes Having 1933 as a Prerequisite and Rationale These include CSci 2021 and 2041 which in turn are prerequisites for many other classes. 1933 teaches the notion of abstract data types as well as the fundamental abstract data types (stacks, queues, and trees), which are used extensively in the rest of Computer Science. To give a few quick examples, (i) the queue abstract data type is used for CPU and disk scheduling; (ii) stacks are used extensively in the compilers, architecture and programming languages courses to describe parsing algorithms for arithmetic expression, computer programs etc.; (iii) abstract data types and object oriented programming are used as basic tools for software engineering. Probable Text Carrano, Frank. Data Structures and Abstractions with Java, 3rd Ed. Outcomes Upon successful completion of the course students should have the following skills and proficiencies: 1. For each of the abstract data types discussed in class, the student should be able to: * define the basic terminology and use it correctly, * give an explanation of why it is important, * provide and discuss specific CSci examples of its use, * be able to identify its important characteristics as well as any important variants or special cases, * perform the basic operations associated with it, * use it, when applicable, to represent and solve problems. 2. Given a problem, students should be able to: *identify which abstract data type and/or Java construct could be useful in representing or solving the problem, and why; *modify or specialize abstract data types or techniques to make them applicable to problems that are not amenable to straightforward use of the abstract data types; *develop a functioning object oriented program in Java, and document its functionality in terms of the given problem. 3. Student should be familiar with the process of developing and testing programs, using modern proper software development tools such as debugger and version control software. Weekly outline of material WEEK 1: Overview. Introduction to Java and to IDE. WEEK 2: Basic introduction to classes. Class and method specification. Object oriented design. Control structures, standard I/O, scalar data types. WEEK 3: Additional material on classes. Method definition and invocation, parameter passing, scoping rules. WEEK 4: Composite data types: arrays, strings. WEEK 5; Use of software development tools (debugger, version control). WEEK 6: Linked lists. WEEK 7: Stacks. WEEK 8: Queues. Priority queues. WEEK 9: Introduction to trees: basic terminology and operations. WEEK 10: Binary search trees. Heaps. WEEK 11: Hash tables. WEEK 12: Inheritance and polymorphism. WEEK 13-14: Searching and sorting algorithms. WEEK 15: Wrap up |
|||
Readme link.
Strategic Objectives & Consultation section begins below
|
||||
Strategic Objectives & Consultation | ||||
Name of Department Chair Approver: |
<no text provided> | |||
Strategic Objectives - Curricular Objectives: |
How does adding this course improve the overall curricular objectives ofthe unit? <no text provided> |
|||
Strategic Objectives - Core Curriculum: |
Does the unit consider this course to be part of its core curriculum? <no text provided> |
|||
Strategic Objectives - Consultation with Other Units: |
In order to prevent course overlap and to inform other departments of new
curriculum, circulate proposal to chairs in relevant units and follow-up with direct
consultation. Please summarize response from units consulted and include correspondence. By
consultation with other units, the information about a new course is more widely disseminated
and can have a positive impact on enrollments. The consultation can be as simple as an
email to the department chair informing them of the course and asking for any feedback
from the faculty. <no text provided> |
|||