DUCK

TERM

CLASS

Mark J. Wierman

Name Mark J. Wierman
Office CA203A
School Creighton University
Address Omaha, NE 68178-2090
email mwierman@creighton.edu
Phone (402) 280-1782
Fax (402) 280-1494
Semester
DC Nichole Jelinek
DC Phone 402-280-2825

Academic Honesty

We are all expected to uphold all the standards and ethics of Creighton University.

The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

Programs

  • Computer Science JM&C
  • Center for the Mathematics of Uncertainty CMU.
  • Research Design and Analysis RDA
  • North American Fuzzy Information Processing Society NAFIPS
  • Various Programs I have written are available by selecting the Programs Tab (On fuzzy.creighton.edu).

Downloads

 

 

Computer Programming II

Date Subject Book Work Due
Jan 13, 2011 Introduction, overview.    
Jan 18, 2011 NetBeans   Person
Jan 20, 2011 Array 13 Car.java Coupe.java Main.java
Jan 25, 2011 ArrayList   Quiz
Jan 27, 2011 Data Structures   Array Sort
Feb 01, 2011 Queues & Stacks    
Feb 03, 2011 Recursion 17  
Feb 08, 2011 Searching 18 Program 1
Feb 10, 2011 Sorting    
Feb 15, 2011 Big-O & Timers 18 Quiz Review
Feb 17, 2011 Quiz    
Feb 22, 2011 Collections 19 Fibinochi
Feb 24, 2011 Maps 20  
Mar 01, 2011 Review   Review
Mar 03, 2011 MidTerm    
Mar 08, 2011 FALL    
Mar 10, 2011 BREAK    
Mar 15, 2011 Interface 8  
Mar 17, 2011 NAFIPS'11 9 No Class
Mar 22, 2011 Subclassing 11  
Mar 24, 2011 Try 14  
Mar 29, 2011 Controls    
Mar 31, 2011 Netbeans-GUI 12 Quiz Review
Apr 05, 2011 Quiz    
Apr 07, 2011 MVC    
Apr 12, 2011 Tic-Tac-Toe    
Apr 14, 2011 Model 15
Apr 19, 2011 View    
Apr 21, 2011 Controller 10  
Apr 26, 2011 Review    
Apr 28, 2011 Eval    
CourseCSC222CallNumber11749
TermSpring 2011Section1
Time12:30-13:45Days T R
Final2011-05-05At10:00

Description

This course, together with CSC 221, forms an introduction to problem-solving and programming. Building upon CSC 221, this course focuses on the design and analysis of larger, more complex programs. The process of breaking down a complex problem into manageable pieces and building a working system will be stressed throughout. Since part of this process is choosing the appropriate algorithm to solve the problem at hand, we will investigate the design and analysis of some standard and useful algorithms. Similarly, we will consider various ways of structuring and transforming information so as to make it efficiently accessible and manageable.

Specific topics covered in the course will include: GUI programming and data structures (e.g., vectors, pointers, classes), defining and using abstract data types (e.g., lists, stacks, queues), static vs. dynamic implementations of data structures, and recursion as an alternative to iteration. The structures and concepts covered in this class will be a starting point for further development in subsequent computer science courses.

The specific goals of this course are:

  • To know and be able to use basic programming tools for object-oriented problem solving (e.g., classes, encapsulation, data hiding, and templates).
  • To appreciate the role of algorithms and data structures in problem solving and software design, recognizing that a given problem might be solved with a variety of algorithms and structures (e.g., object-oriented design, searching and sorting, recursion, stacks, queues, and linked lists).
  • To be able to design and implement a program to model a real-world system, and subsequently analyze its behavior.
  • To develop programming skills that can serve as a foundation for further study in computer science.

 

Course Organization:

Required Work

Learning to program requires a consistent time commitment, as each new concept and programming technique builds on those that came before. There will be four quizzes and six programs. There will also be one midterm and one final. To allow for unavoidable absences, the lowest quiz grade will be dropped. Periodically, there will be in-class exercises that will be collected and graded.

To demonstrate problem solving and programming skills, students will complete 5-6 programs throughout the semester. Each assignment will involve the design and implementation of a Java program, and may also include a written component in which the behavior of the program is analyzed. Late assignments will be accepted up to 14 days after their due date, with a 1pt a day penalty for the first week, and a 2pt a day penalty for the second week.

Grades based on
Four quizzes 20 %
In class projects 10 %
Six programming assignments 30 %
Midterm 75-minute tests 20 %
One 100-minute final exam 20 %

 

Grading
A 92-100%
B+ 87-91%
B 82-86%
C+ 77-81%
C 71-76%
D 60-70%
F 0-59%

Depending on class performance, some shifting of grades (in an upward direction only) may occur as final letter grades are assigned.

Regular attendance is expected of all students. If you must miss class for a legitimate reason, it is your responsibility to make up missed work. Quizzes and assignments will not be rescheduled except in extreme circumstances.

×

Academic Honesty

  • We are all expected to uphold all the standards and ethics of Creighton University.
  • The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

Academic Honesty

We are all expected to uphold all the standards and ethics of Creighton University.

The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

Objects First

JavaNotes, 7th edition

David J. Eck

Note the pdf download links at the bottom.

Local JavaNotes7

Sometimes you have to edit the latest setting list on the mac to make things work right. The file I edited was "/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Info.plist" but you version may differ. The relevant section is


<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>

Human Computer Interaction

Date Subject Book Work Due
Jan 13, 2011 Hello Hello  
Jan 18, 2011 User User Hate
Jan 20, 2011 Task Task  
Jan 25, 2011 Design Design Icon
Jan 27, 2011      
Feb 01, 2011 Psychology Psychology Project/User
Feb 03, 2011      
Feb 08, 2011 User User Icon2
Feb 10, 2011      
Feb 15, 2011 Widgets Widgets Art Work
Feb 17, 2011      
Feb 22, 2011 STM STM Hate2
Feb 24, 2011      
Mar 01, 2011 Presentation Presentation Presentation
Mar 03, 2011 Presentation Presentation  
Mar 08, 2011 BREAK BREAK  
Mar 10, 2011 BREAK BREAK  
Mar 15, 2011 Color Color  
Mar 17, 2011 NAFIPS'11 No Class  
Mar 22, 2011 Representation Representation  
Mar 24, 2011 Ditto   Love
Mar 29, 2011 Hypermedia Hypermedia  
Mar 31, 2011 Help Help Proposal
Apr 05, 2011 Usability Usability  
Apr 07, 2011 Testing Testing Help
Apr 12, 2011 Comand Line Comand Line  
Apr 14, 2011 Form Form TestPlan
Apr 19, 2011 UI UI  
Apr 21, 2011 Menu Menu Integration
Apr 26, 2011 GUI    
Apr 28, 2011 Cycle   Love2
CourseCSC444CallNumber13034
TermSpring 2011Section1
Time14:00-15:15Days T R
Final2011-05-05At08:00

Description

Software is designed to accomplish tasks. Discovering these tasks takes a great degree of skill. The investigator must understand principles of human behavior, physiological and psychological characteristics of human cognition, information systems, and interface design. Proper, ergonomic, design leads to faster information processing systems with a lower error rate, reduced training and support costs, and greater worker satisfaction.

Objectives

This class covers a broad spectrum of topics to provide a background in all of the areas necessary to understand Human Computer Interaction. These topics include: principles of design; methods for evaluating interfaces with or without user involvement; and techniques for prototyping and implementing graphical user interfaces.

Organization

There will be a quiz every Monday It will cover the material from the previous week's lecture(s), the appropriate chapters of the book, and any lessons you should have learned while you were doing your projects. You will have to do two presentations. The midterm and final are presentations.



Presentation Guidlines

Written Assignments

Pages

Hate

Write a two page description of a single application piece of software that you judge to have an inferior design. Explain precisely what aspects of the design you dislike and why you dislike them.

Explanation

Most people use software. Much of the software currently available fails to completely satisfy the user's expectations and needs. Computer scientists create software. It is important for the computer scientist to define precisely which aspects of software demonstrate the creator's lack of understanding of the user's perspective.

Two

Hate 2

Resubmit Hate after feedback.

Two

Project/User

Write a detailed description of the GUI you propose to design. Include a section that describes the user that makes up the target audience. Include a section  that lists the the users major tasks. Explain the hardare/operating system/form factor of the target system. For example PC/WinXP/VGA.

Explanation

To designing software for human use the software designer must understand the target audience and the tasks that need to be accomplished. Computer scientists create software. It is important for the computer scientist to define precisely which aspects of software demonstrate the creator's lack of understanding of the user's perspective. It is especially important to note the negative impact of poor software on productivity.

Three

Artwork

Using pens/crayons/markers/paint/gliter/… make a physical drawing of the interface for your project. Include all the major screens where interaction takes place.

1+

Love

Write a two page description of a single application piece of software that you judge to have a superior design. Explain precisely what aspects of the design you like and why you like them.

Explanation

Some of the software that we use exceeds our expectations and needs. Like a comfortable garment it is both attractive and useful. What is important in this assignment is explaining to other people what it is about this piece of software that makes it remarkable. Especially, explaining what about the software fits the user.

Two

Screenshots

Using a computer based drawing program produce a soft copy of the interface for your project. Include all the major screens where interaction takes place.

1+

Love 2

Resubmit Love after feedback.

Two

Icon

On a white sheet of paper draw, in color, the Icon that will represent your software product.

 

Vector Icon

Using Adobe Illustrator draw an Icon. Submit a zip file on blueline that contains AI and PNG versions of your design.

 

GUI

Write up the presenation of your GUI. Be sure to include screen shots and a complete description of what the GUI is designed to do and how the primary tasks are accomplished.

Explanation

Technical writing is a skill. In a presentation, questions from the audience can clear up difficulties in understanding what the GUI does and how it does it. A writer has a more difficult job, they clearly cover all the functionali of the GUI in a logical order. Clarity of expression is the ultimate gole of the tech-writer. The length should be about three pages.

 

Critique

Write up the qritique of your GUI from the first presentation. Be sure to include screen shots and consult the presentation guide for a list of possible discussion points. You can also draw upon the audience feedback gathered from your presentation. Remember to take everything with a grain of salt.

Explanation

Know thyself is easier said than done. To objectively analyze a personal design is a daunting task. The length should be about two pages.

Three

Menu/Commands

Using an HTML editor (Microsoft Word is one), make an outline of all the commands that activate your application. Each command should Link to a Section that explains what the command is supposed to accomplish in the setting of your software. The paragraph should link back to the list.

Explanation

Technical writing needs to be short but clear. Words are more difficult to read on a display screen and hence computer help needs to be precise. Most users are in the help system when under distress, this means that Help must be helpful. This is not as easy to achieve as it would seem. The length should be about three pages.

Two

Test Plan

Using the Task List from Project/User detail a test plan. Find a test subject and have them detail (using the screenshots) how they would accomplish the tasks using the software. Analyze results.

2

Help

Write the help pages for your GUI. The initial page should use the description from Project/User as well as a screen capture of the final version of your GUI. The following pages would be derived from Menu/Commands.

Remember these pages should be consistent graphically, etc., with your GUI.

3+-

Integration

Assemble the project report. This starts with the Project Proposal. Scan and add the Paper Copy. Add Version one screen shots. The next section should analyze this version using feedback from presentation one. Add Help as a description of functionality. Add a Test Plan and a Test Plan analysis. Add Final screen shots and a description of  changes made from previous versions.

10+

Screenshots 2

Using a computer based drawing program produce a soft copy of the interface for your project. Include all the major screens where interaction takes place.

1+

 

An "A" Paper

_____is a complete response to the assignment

_____is thoughtful and sophisticated

_____demonstrates a mastery of class concepts

_____is well organized

_____has carefully organized and constructed paragraphs that use concise sentences

_____is free of repetition

_____highlights important points

_____has few errors (none serious) in grammar, spelling, or punctuation

_____uses correct bibliographic and citation styles consistently

A "B" Paper

_____is a direct but not necessarily complete response to the assignment

_____is thoughtful

_____demonstrates an understanding of class concepts

_____is well organized

_____has carefully organized and constructed paragraphs

_____is free of repetition

_____highlights important points

_____has few serious errors in grammar, spelling, or punctuation

_____uses correct bibliographic and citation styles consistently

A "C" Paper

_____is not a complete response to the assignment

_____is superficial

_____demonstrates some understanding of class concepts

_____is poorly organized

_____is repetitive

An "D" Paper

_____is an inadequate response to the assignment

_____is very superficial

_____demonstrates little understanding of class concepts

_____is badly organized

_____is repetitive

An "F" Paper

_____falls short of the standards of a "D" report

Assignments:

Assignments will be collected at the beginning of the class period in which they are due. Anything turned in after the assignment has been collected is considered late.

I do not believe in arriving late to class, finishing homework in class, printing materials after class, or handing it in "later" and receiving full credit. Late assignments will be docked 25% each day the assignment is late. Thus if you turn in your paper later that day, it is still late. For example, if an assignment is worth 100 points and you turn it in late (2 days later) and receive an 84 on the assignment, a score of 42 will be recorded in the gradebook. Please pay special attention to these deadlines for the papers. Anything turned in after 4 days in which the assignment is due will receive a grade of zero.

Grading:

ASSIGNMENT NUMBER PERCENTAGE
Presentations      (2)     24%
Quizzes   (12)   36%
Homeworks    (10)     40%

Grading
A 92-100%
B+ 87-91%
B 82-86%
C+ 77-81%
C 71-76%
D 60-70%
F 0-59%

Depending on class performance, some shifting of grades (in an upward direction only) may occur as final letter grades are assigned.

Regular attendance is expected of all students. If you must miss class for a legitimate reason, it is your responsibility to make up missed work. Quizzes and assignments will not be rescheduled except in extreme circumstances.

×

Academic Honesty

  • We are all expected to uphold all the standards and ethics of Creighton University.
  • The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

Academic Honesty

We are all expected to uphold all the standards and ethics of Creighton University.

The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

Optional

Strunk & White: A Manual Of Style

Mobile App Development

Date Subject Book Work Due
Jan 12, 2011 App    
Jan 17, 2011 XCode 3  
Jan 19, 2011 NIB    
Jan 24, 2011 Objective-C    
Jan 26, 2011      
Jan 31, 2011 Interaction    
Feb 02, 2011      
Feb 07, 2011 More Interaction    
Feb 09, 2011      
Feb 14, 2011 View    
Feb 16, 2011      
Feb 21, 2011 Multi-View    
Feb 23, 2011      
Feb 28, 2011 Review    
Mar 02, 2011 MidTerm    
Mar 07, 2011 BREAK    
Mar 09, 2011 BREAK    
Mar 14, 2011 Spinners    
Mar 16, 2011      
Mar 21, 2011 NAFIPS'11 0 No Class
Mar 23, 2011 Touch    
Mar 28, 2011 Utility    
Mar 30, 2011      
Apr 04, 2011 Persistence    
Apr 06, 2011      
Apr 11, 2011 Prototypes    
Apr 13, 2011      
Apr 18, 2011 Navigation    
Apr 20, 2011      
Apr 25, 2011 TableView    
Apr 27, 2011      
CourseCSC581CallNumber13248
TermSpring 2011Section1
Time15:30-16:45DaysM W
Final2011-05-03At10:00

Description

This class covers the basics of iPhone App development.

Objectives

The purpose of programming is to make the computer do what you want it to. The goal of this course is to take the student over the hurdles of Swift and XCode so that they an build the App of their dreams.

Course Organization

The first half of the class will present the first seven chapters of the textbook in detail. This will include the basics of the Swift programming language and how the XCode IDE functions. The second half will focus on the Student's Apps and the technologies needed to achieve full functionality.

There will be a two Tests and a Midterm. It will cover the material from the previous week's lecture(s), the appropriate chapters of the book, and any lessons you should have learned while you were doing your projects. The final will be your iPhone App.

Assignments

Assignments will be collected at the beginning of the class period in which they are due. Anything turned in after the assignment has been collected is considered late.

I do not believe in arriving late to class, finishing homework in class, printing materials after class, or handing it in "later" and receiving full credit. Late assignments will not receive full credit.

Grades based on
Three Quizzes 25 %
Five-six programming assignments 25 %
Midterm 75-minute tests 25 %
Final App 25 %

Grading
A 92-100%
B+ 87-91%
B 82-86%
C+ 77-81%
C 71-76%
D 60-70%
F 0-59%

Depending on class performance, some shifting of grades (in an upward direction only) may occur as final letter grades are assigned.

Regular attendance is expected of all students. If you must miss class for a legitimate reason, it is your responsibility to make up missed work. Quizzes and assignments will not be rescheduled except in extreme circumstances.

×

Academic Honesty

  • We are all expected to uphold all the standards and ethics of Creighton University.
  • The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

Academic Honesty

We are all expected to uphold all the standards and ethics of Creighton University.

The policy on academic honesty is set forth in the University bulletin.

Cheating

In particular, students caught cheating on a homework, program, quiz, or test will (at the minimum) be given a zero for that exam and will be referred to the Dean and/or Student Services for counseling and further disciplinary action. At the instructors discretion any student may be assigned an F as their class grade for any violation of the academic honesty policy of Creighton University.

Collaboration

  • Unless otherwise noted, all quizzes and tests are closed book, with no collaboration between students allowed.
  • Programming assignments allow only limited collaboration. You may ask for debugging help from your peers, but at no time should another student assist in the design or coding of your program. The design and implementation of your program should be entirely your own work!
  • Working together on homework assignments can be a positive experience and is not prohibited as long as the work you turn in is your best attempt at the assigned problem (i.e., no copying someone else's answers and turning it in as your own).

Violations of the above collaboration will be dealt with severely, with possible outcomes including a zero or negative grade, immediate failure of the course, and expulsion from the university. In the case of programming assignments, you are encouraged to start early so that there is time to seek help from the instructor as the need arises.

iOS

You should be able to download this for free from the Creighton Library

Beginning iPhone Development with Swift 2

Beginning iPhone Development with Swift 2 Exploring the iOS 9 SDK

  • By David Mark , Jack Nutting , Kim Topley , Fredrik Olsson , Jeff LaMarche
  • ISBN13: 978-1-484217-53-5
  • 880 Pages
  • User Level: Beginner to Intermediate
  • Publication Date: December 23, 2015
  • Available eBook Formats: EPUB, MOBI, PDF

JM&C

Mark J. Wierman | mwierman@creighton.edu
Journalism Media & Computing | Creighton University
2500 California Plaza | Omaha NE | 68178 | 402.280.1782
Copyright © 2015 Creighton University JM&C