CS 122 - nau.edu - Northern Arizona University

advertisement
UCC/UGC/YCC
Proposal for Course Change
FAST TRACK
(Select if this will be a fast track item. Refer to UCC or UGC Fast Track Policy for eligibility)
1. Effective BEGINNING of what term and year?:
Summer 2012
See effective dates calendar.
2. College:
CEFNS
4. Current course subject and number:
3. Academic Unit:
CS 122 / 122H
5. Current title, description and units. Cut and
paste, in its entirety, from the current on-line
academic catalog*.
(www4.nau.edu/aio/AcademicCatalog/academiccatalogs.htm)
CS 122 PROGRAMMING FOR
ENGINEERING AND SCIENCE (3)
Introduces computer programming for
engineers, scientists, and math majors.
Emphasizes problem solving, algorithms, and
structured programming. Letter grade
only. Course fee required. Prerequisite: MAT
108 with a grade greater than or equal to C or
Math Placement Test Results (ALEKS/MATHA
35+; MATHC 35+; PLACE 43+) SAS
CS 122H PROGRAMMING FOR
ENGINEERING AND SCIENCE - HONORS
(3)
Introduces computer programming for
engineers, scientists, and math
majors. Emphasizes problem solving,
algorithms, and structured
programming. Letter grade only. Course fee
required. Prerequisite: (MAT 108 with a grade
greater than or equal to C or Math Placement
Test Results (ALEKS/MATHA 35+; MATHC 35+;
PLACE 43+)) and Honors Student Group SAS
Revised 06/22/2011
Electrical Engineering &
Computer Science
Bold the proposed changes in this column to
differentiate from what is not changing, and
Bold with strikethrough what is being
deleted.
CS 122 PROGRAMMING FOR
ENGINEERING AND SCIENCE (3 2)
Introduces computer programming for
engineers, scientists, and math majors.
Emphasizes problem solving, algorithms, and
structured programming. Letter grade
only. Course fee required. Prerequisite: MAT
108 with a grade greater than or equal to C or
Math Placement Test Results (ALEKS/MATHA
3550+; MATHC 3550+; PLACE 4355+)). Co
requisite: CS 122L. SAS
CS 122H PROGRAMMING FOR
ENGINEERING AND SCIENCE - HONORS
(3 2)
Introduces computer programming for
engineers, scientists, and math
majors. Emphasizes problem solving,
algorithms, and structured
programming. Letter grade only. Course fee
required. Prerequisite: (MAT 108 with a grade
greater than or equal to C or Math Placement
Test Results (ALEKS/MATHA 3550+; MATHC
3550+; PLACE 4355+)) and Honors Student
Group. Co requisite: CS 122L. SAS
*if there has been a previously approved UCC/UGC/YCC
change since the last catalog year, please copy the
approved text from the proposal form into this field.
6. Is this course in any plan (major, minor or certificate) or sub plan (emphasis or concentration)?
Yes
No
If yes, describe the impact and attach written responses from the affected academic units
prior to college curricular submission.
BS Applied Computer Science, BSE Electrical Engineering, BSED Secondary Education;
Mathematics, BS Environmental Sciences; Applied Mathematics Emphasis (elective), BS
Mathematics, BSE Civil Engineering (elective)*, BSE Environmental Engineering
(elective)*, BSE Mechanical Engineering. See attached responses from EE, Math, , and
ME. Also attached is notification/response from Environmental Science.
*Pending UCC plan changes that remove this course as an elective.
7. Is there a related plan or sub plan change proposal being submitted?
If no, explain.
Yes
No
8. Does this course include combined lecture and lab components?
Yes
If yes, note the units specific to each component in the course description above.
No
9. Is there a course fee?
No
Yes
10. Justification for course change.
This change reflects the experiences reported to the stakeholders by those who took the
class in the past. It is apparent that switching the programming environment and
programming language in the middle of the semester from Matlab to C++ has detrimental
effects on the students’ ability to develop good programming and problem solving skills.
Moreover, it turns out that for all stakeholders, the importance of another programming
language is marginal compared to developing good problem solving and programming
skills.
Consequently, this class will put more emphasis on one programming environment,
deepening the understanding of and increasing the confidence to solve problems in that
environment. At the same time, the material on C++ will no longer be taught and the overall
number of credit hours can be reduced to two credits. For those who are currently
requiring only the three credit lecture, our assessment data has shown substantially lower
grades and higher DFW rates compared to those who take both the lecture and the lab
class. Reducing the material enables all degree programs to substitute the new class and
lab combination into the three credit hours vacated by the old CS 122 lecture, thereby
improving student success.
In order to support the process of developing programming skills by solving practically
relevant mathematics and engineering problems within guided lab sessions, we generally
require all students taking CS122 to also take the lab CS122L as a co-requisite.
A correction was made to the mathematics placement thresholds to align with the
prerequisite of MAT 108. The existing thresholds were the prerequisite levels to enroll in
MAT 108, rather than MAT 108 as a prerequisite.
Revised 06/22/2011
IN THE FOLLOWING SECTION, COMPLETE ONLY WHAT IS CHANGING
If the changes included in this proposal are significant, attach copies of original and
proposed syllabi
CURRENT
Current course subject and number
PROPOSED
Proposed course subject and number
Current number of units
3
Current short course title
Proposed number of units
2
Proposed short course title (max 30 characters)
Current long course title
Proposed long course title (max 100 characters)
Current grading option
letter grade
pass/fail
or both
Current repeat for additional units
Proposed grading option
letter grade
pass/fail
or both
Proposed repeat for additional units
Current max number of units
Proposed max number of units
Current prerequisite
Proposed prerequisite
Current co-requisite
Current co-convene with
Proposed co-requisite
CS 122L
Proposed co-convene with
Current cross list with
Proposed cross list with
Answer 11-15 for UCC/YCC only:
11. Is this course an approved Liberal Studies or Diversity course?
If yes, select all that apply. Liberal Studies
Diversity
Yes
No
Both
12. Do you want to remove the Liberal Studies or Diversity designation?
If yes, select all that apply. Liberal Studies
Diversity
Both
Yes
No
Yes
No
14. Is the course a Common Course as defined by your Articulation Task Force? Yes
No
15. Is this course a Shared Unique Numbering (SUN) course?
No
13. Is this course listed in the Course Equivalency Guide?
Revised 06/22/2011
Yes
Scott Galland
01/26/2012
Reviewed by Curriculum Process Associate
Date
Approvals:
Department Chair/ Unit Head (if appropriate)
Date
Chair of college curriculum committee
Date
Dean of college
Date
Inst.
Year
Course
ASU
NAU
UA
NAU CS 1
2011- Course Title Not
Available
12
Elective Credit
NAU CS 122 (3)
2011- PROGRAMMING
FOR ENG & SCI
12
Elective Credit
Revised 06/22/2011
Dieter and David,
The Department of Mathematics and Statistics supports the proposed change to CS 122. Thank you for
involving us in the process.
Terry Blows, Chair of Mathematics and Statistics
From: F Ernesto Penado
Sent: Monday, October 03, 2011 5:53 PM
Subject: RE: Following up on our meeting on the CS122 issue
Dieter,
The department of mechanical engineering supports the proposed change to CS 122; namely, to change the
lecture part to 2 credit hours using Matlab as the only programming language while leaving the lab separate
from the class as 1 credit hour. We feel that the change in content to using Matlab only in the class and lab is
something that will benefit our students. The reduction in the lecture from 3 to 2 credit hours will also benefit
our students by means of fewer hours to graduation.
Thanks,
----------------F. Ernesto Penado, Ph.D.
Professor and Chair
Department of Mechanical Engineering
Northern Arizona University
15600 S. McConnell Dr., Bldg. 69
Flagstaff, AZ 86011-5600
Phone: (928) 523-9453
Fax: (928) 523-2300
From: Wolf-Dieter Otte [mailto:wolfdieterotte@gmail.com]
Sent: Monday, October 03, 2011 2:23 PM
To: Terence Ronald Blows; F Ernesto Penado; David Robin Scott
Subject: Following up on our meeting on the CS122 issue
Dear All,
I wanted to follow up on the meeting that we just had and formally ask for your consent on the things
that we agreed upon during the meeting.
Here is what we decided:
- CS122 is going to become a two credit lecture, Matlab-only, class (2x50 minutes)
- This class will have a one credit of lab attached, which normally is a 150 minutes. However, if there
is a way to shorten the lab, mostly for logistical and ultimately also for resource purposes, to 120
minutes, we would like to go this route. We also feel that the overwhelming majority of students don't
take more than 100-120 minutes to do the lab assignments. That option is being explored right now.
- We will retain the overall 3 credits of Liberal Studies SAS.
- From a pedagogical point of view, we feel that it is by far better to have students become familiar
with one programming language/environment thoroughly than to have them get their feet wet with two
such environments and not feeling comfortable using either.
Please let me know if you have questions,
Best,Dieter
Revised 06/22/2011
From: Maureen Fray
Sent: Wednesday, January 25, 2012 7:57 AM
To: Scott Anderson; Stuart S Galland
Subject: RE: Applied Math Emphasis
Yes I agree, the change in this course is great. They are now only focusing on one program and going in
depth for more clarity. I think this will assist our students in exploring this area but offering the support
they need through the lab to pass the course with higher marks.
Maureen Fray
Academic Advisor, Sr.
College of Engineering, Forestry & Natural Sciences
Northern Arizona University
Biological Sciences (Bldg #21), Rm. 132
PO Box 5626
Flagstaff, AZ 86011
928-523-2880
928-523-0516 (fax)
maureen.fray@nau.edu
nau.edu/cefns
Remember to always send along your student ID# when corresponding with your Advisor.
 Please consider the environment before printing this email.
--"Imagination is more important than knowledge. I never came upon any of my discoveries
through the process of rational thought." - Albert Einstein
From: Scott Anderson
Sent: Wednesday, January 25, 2012 7:12 AM
To: Stuart S Galland
Cc: Maureen Fray
Subject: RE: Applied Math Emphasis
Maureen, I wanted to check with you to see if this is ok for our students. It looks ok to me,
but I would like your eyes to see this as well. If you agree, I will sign and send on to
Pauline. Thanks, Scott
___________________________________________________________________________________________
_________________________________________________
R. SCOTT ANDERSON
Professor of Paleoecology & Program Chair of Environmental Sciences
School of Earth Sciences & Environmental Sustainability
Building 19, Room 119 (Box 5694)
Northern Arizona University, Flagstaff, AZ 86011
Revised 06/22/2011
PROPOSED SYLLABUS
Northern Arizona University
CS 122 – Programming for Engineering and Science
Course Syllabus
Dept. of Electrical Engineering and Computer Science
College of Engineering, Forestry and Natural Sciences
General Information
 CS 122 “Programming for Engineering and Science”
 Offered every semester
 100 Minutes, 2 credits
 Instructor: TBD
 Office hours: TBD
 Room/Time: TBD
Course Prerequisites
MAT 108 with a grade greater than or equal to C or Math Placement Test Results (ALEKS/MATHA
50+; MATHC 50+; PLACE 55+) SAS
You are required to take CS122L as a co-requisite to this class.
Course Description
Introduces computer programming for engineers, scientists, and math majors. Emphasizes problem
solving, algorithms, and structured programming.
Liberal Studies Information
The mission of the Liberal Studies Program at NAU is to prepare students to live responsible,
productive, and creative lives as citizens of a dramatically changing world.
CS 122 supports this mission by helping you:
 Gain a deeper understanding of the tools and processes that enable and drive our technologicallyoriented society.
 Explore the history and culture of Matlab.
 Understand the basics of computer programming and be able to apply them to solve problems you
encounter in life.
CS 122 is a course in the Science and Applied Science Distribution Block and supports the intent of
that block by:
 Teaching you the basics of a programming language.
 Teaching you how to program and problem-solve with a programming language.
 Cultivating highly logical and algorithmic thinking.
 Exposing you to the common algorithms and techniques that are the basic building blocks of all
programming.
Student Learning Expectations/Outcomes for this Course
Revised 06/22/2011
Through the program students acquire a broad range of knowledge and develop essential skills for
professional success and life beyond graduation. By completing all the coursework in the class, you
will meet the learning outcomes specifically linked to quantitative reasoning:
 You will assess descriptions of both raw and derived quantitative data.
 You will interpret the results of models that you program, including margins of error from
statistical data.
 You will use graphs to solve problems such as scheduling, organizing information or finding
optimal strategies.
 You will describe and explain the processes and results by applying quantitative literacy skills in
reports you write.
More specific, by the end of the semester, you will be able to:
 Break down computational problems into a series of easily managed steps.
 Create programs in Matlab that solve the problems at hand.
 Process numerical data and perform input and output operations on it.
 Visualize the result through charts and graphs.
Assessment of Student Learning Outcomes
You will be evaluated using the following evaluation tools:
 Class Participation (5%)
 Homework Assignments: (20%)
 Programming Projects: (25%)
 2 Midterms: (30%)
 1 Final Exam: (20%)
Class participation is vital to be successful and generally required. Up to 5% from the course’s result
may be taken off in case a student fails to participate in classes without prior excuse.
All grades are letter grades, with the following grading scale:
A=90%..100%, B=80%..89%, C=70%..79%, D=60%..69%, F<60%
Course structure/approach
The course will primarily be delivered in lecture format. Discussions are, however, part of the class,
depending on the subject matter. Students are encouraged to ask questions right during the class, which
will be answered interactively.
It is imperative that students be prepared and actively participate in class discussions.
Textbook and required materials
Chapman, "MATLAB Programming for Engineers", Fourth Edition. Thompson, 2008. ISBN 0-49524449-X
Recommended optional materials/references (attach reading list)
Please use the Internet to supplement the information provided in class. This is especially important to
look up specifics on the programming environment that you are going to use, e.g. a function’s
definition and parameters passed etc.
Revised 06/22/2011
Course outline
This is an overview of the time line of the class and the material covered.
Week
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Topic
Introduction, Computer Basics, Matlab
Introduction
Matlab Data Structure/Plot
Matlab Vectors/Matrices
Matlab Vectors/Matrices cont.
Matlab Branching & Loops
Catch-up & review, Midterm 1
Matlab Branching & Loops cont.
Matlab Branching & Loops cont.
Matlab Functions
Matlab Functions cont.
Matlab Functions cont.
Catch-up & review, Midterm 2
Matlab Scopes, etc.
Advanced topics
Matlab Review
Final Exam
Book Section
B1B2Ch1
B1Ch2
B1Ch2
B1Ch2
B1Ch3, B1Ch4
B1Ch3, B1Ch4
B1Ch3, B1Ch4
B1CH5
B1CH5
B1CH5
B1CH6
Course policy
Attendance:
Attendance is required. You are responsible for all material covered during the lectures whether you
attend or not. If you must miss a class, be sure to get the notes from another student. After reviewing
their notes and doing the assigned reading, let me know if you have specific questions ("Did I miss
anything?" is not a specific question!). Late arrivals are very disruptive and are not acceptable - plan to
arrive five minutes before the start of class.
Late work:
No late work will be accepted. Unless otherwise noted, all assigned work is due at the beginning of
class on the date they are due! Programming assignments will usually be submitted electronically. If
your program is incomplete or won't compile, you should submit it with extensive explanation (i.e.
comments, email, other) of exactly what DOES work, where you failed, etc. to help me assign partial
credit.
Make-ups:
No make-ups are given for pop-quizzes or programming assignments.. Make-up exams will be
given only in the case of a documented emergency or with approval from me at least 24 hours
prior to the exam. Make-up exams are usually more difficult than the original exam.
Lectures and the Book:
The lecture topics follow the same general outline as the book. However, the lecture complements the
book rather than being a mirror of it. If you only read the book or only pay attention to the lecture
you're likely to end up missing some key concepts. To get the most from the class, read each chapter
before we discuss the corresponding topic in the lecture, then use the lecture as an opportunity to
Revised 06/22/2011
reconsider the key points of the material and ask questions on anything you're confused on.
Computer Access:
The projects and many of the homework assignments are programming problems requiring a computer
to solve. You can use your NAU computer account to access lab computers and our Unix computer
remotely. We will not be spending any class time in the computer lab. You are responsible for going to
the lab on your own time or working from home to complete the assignments.
You can use the Unix lab in room 106, the PC lab in room 317, the computers in the building's Internet
Cafe or any of the various PC labs around campus. However, only the computers in the engineering
labs are guaranteed to have Matlab installed - other computers may or may not. The computers in the
math building should have Matlab as well.
Electronic Device Usage:
All cell phones, PDAs, music players and other electronic devices must be turned off (or in silent
mode) during lecture, and may not be used at any time. Laptops or workstations (if present) are
allowed for note-taking only during lectures; no surfing or other use is allowed. I devote 100% of my
attention to providing a high quality lecture; please respect this by devoting 100% of your attention to
listening and participating.
Academic Dishonesty:
Cheating will not be tolerated and will result in immediate failure in the course. Serious incidents
of academic dishonesty will also for brought to the attention of the university and may result in
expulsion. All work in this class is meant to be an individual effort by the person receiving the grade.
Any variation from this is considered cheating and all parties involved (giving or receiving) will be
sanctioned severely.
Additional clarification on cheating: Sometimes students are not clear on what is or is not cheating
in regards to programming: the programs you turn in for grading should have been written and typed in
by you without referencing another’s work (you may refer to books, of course --- but you may not
copy large sections of code from any book, the internet, or any other medium). It is often helpful to
work with others to clarify the problem to be solved and discuss possible solutions; this is acceptable
and even encouraged. But you should never at any time give another student a copy of your code or
accept code from another student, either physically or electronically. Some examples of cheating
include but are not limited to:



Turning in someone else's code (perhaps with minor modifications) as your own. This includes
code that you found on the internet, reference texts, or elsewhere.
Turning in fabricated output for a non-functional program (or editing output from a partially
functional program) in an effort to fool the grader into thinking the program works as specified.
Using fragments (e.g. functions/methods) from another's code in your code, passing them off as
you own.
A Few Helpful Hints For Success in CS 122
Learning a programming language is very much like learning a foreign language – it requires study and
practice on a regular basis. Very few people do well trying to "cram" before exams in this class.
Writing a program can be a funny thing. Some people are very fast programmers, others are quite slow.
One common complaint I hear is that someone spent XX hours on a program and still couldn’t finish.
Others might spend only a couple of hours. This disparity emphasizes the difference between
"programming" and merely “hacking”. It is important to make sure you understand what has to be
done, the concepts associated with the assignment, and that you have a plan or outline for your
Revised 06/22/2011
program before you write a single line of code. All of this will help to decrease the time you spend in
front of the computer wondering why something doesn’t work.
Here are a few further hints for success in CS 122:
1. Read the book! My lectures will make a lot more sense to you if you read the corresponding
sections in the book.
2. Come to class (no matter what)! Even if you haven’t done your reading, come to class and keep up
with what we are doing. Students are sometimes amazed at the information given in class that
is helpful in completing their programming assignments and in doing well on exams.
3. Write practice programs! Don’t let your programming assignments be the only time you try things
out on the computer. When someone asks a question in class and I say, "Hmmm…why don’t
you go try that?" – go try it! My telling you how something works is no substitute for seeing it
yourself.
4. Make friends with someone in the class! This can come in handy if you happen to miss a class or
need someone to study with for an exam. Just make sure that you and your friend don’t both
miss class on the same day.
5. Ask questions! If something doesn’t make sense, ask about it – either in class or during my office
hours. Learning a programming language and how to program is a cumulative process – if you
miss one concept, it will probably haunt you through the rest of the course.
6. Start your programming assignments early! Don't delay programming assignments until the last
minute. Unlike writing a paper for an English class (which is done when you want it to be), a
program is a living thing, full of errors that must be corrected before it is done -- just one bug
can render the whole thing useless. How long it takes to correct bugs is unpredictable. So be
sure to leave yourself enough time --- time to think carefully about the design before you
program, time to type in the program, and time to resolve whatever problems do arise.
Remember, whatever can go wrong will and at the least opportune time. My willingness to help
you with your assignment outside of office hours greatly diminishes in the hours immediately
before it is due.
University policies:
In order to conserve paper we do not provide you with a complete set of university policies documents.
You can, however access these policies through NAU’s web site.
You should familiarize yourself with the following university policies, which are available at the
Engineering Front Desk, and on the University's website.
• Safe Working and Learning Environment
• Students with Disabilities
• Academic Dishonesty
• Institutional Review Board (use of human subjects)
• Accommodation of Religious Observance and Practice
• Classroom Management Statement
Building Evacuation Policy
Revised 06/22/2011
Download