Programming: Logic, Design and Implementation (CIS17)

Professor: Priscilla Grocer


Office: K-112
Phone: 508-678-2811 ext 2403

Email: Priscilla.Grocer@bristolcc.edu Check with me about other email address to use for homework.

Course Description (from catalog):

This course will teach the fundamentals of programming logic, design and implementation. The student will learn to think logically and design programs. Examples will be implemented in several languages giving students an understanding of how languages work to implement the programmer’s logic and design. Students with no programming background are strongly encouraged to take this course before pursuing other languages.


(the modified course description will be submitted to CWCC in 2009/2010 – note that the description is not a change to what is being taught, it simply articulates it better ):
This course will teach the fundamentals of programming logic, design and implementation. The student will learn to think logically and design programs. Examples will be implemented in several languages giving students an understanding of how languages work to implement the programmer’s logic and design. Students will also get a foundation in other IT concepts including databases, web development, effective use of the Internet, researching information, computing ethics and applications. Critical thinking will be embedded in the course. Students will develop an understanding of the components of a today's computer systems and a wide range of information to set the foundation for their further studies. Students with no programming background are strongly encouraged to take this course before pursuing other languages.

 

Objectives:  As in all CIS courses, there will be a strong focus on critical analysis including critical thinking, critical reading and critical information gathering. In addition to this overriding objective, at the completion of this course, the following objectives should have been accomplished:

§         To develop a basic understanding of many areas of information technology and how they are used

§         To understand logic development

§         To understand the basic structure of a program including sequence, decisions and looping

§         To understand how to design a program to solve a simple program

§         To introduce the basics of several programming language and understand the commonality and differences in languages

§         To understand what a programmer does and what writing a program means

§         To lay a basic foundation involving hardware, software, navigation, the Internet for future development

§         To understand what a database is and how to design a working model

§         To develop a basic relational database and query and maintain the data

§         To develop the ability to use word and email for homework assignments

§         To design and develop a web site on a server

§         To effectively research information

§         To research and develop employability skills and career awareness

§         To understand how to use computing responsibly, ethically and legally

§         To learn to collaborate and work together using technology to facilitate

 

Much of the material covered in this course will be available at the web site or on the web and will require outside reading and research.


Texts: Programming Logic and Design fifth edition - comprehensive
Joyce Farrell
ISBN 13: 978-1-4239-0196-9
ISBN 10: 1-4239-0196-7

Course Technology

Material to be Covered: The order in the syllabus does not necessary reflect the order that will used in the course. Please use the weekly schedule sheet to follow the assigned topics. This course operates on several levels. We will work with concepts and at the same time we will work with a variety of basic computer skills and software to test and implement and reinforce the concepts. The outline discusses the concepts. After that there is a listing of the embedded computer concepts and the embedded software:

 

I.                    Database

1.      Design, develop

2.      Maintain

3.      Query

4.      SQL

II.                 Logic and critical analysis

1.      Analyzing problems

2.      Developing solutions using a variety of tools

3.      “Play computer” – step through logic

III.               Programming

1.      Programming process

2.      Understanding programming structures

3.      Design and development

4.      Development tools

5.      Procedural and Object-Oriented

6.      Programming languages

7.      Writing programs

8.      Testing and debugging

9.      Similarities and differences

IV.              Web Development

1.      Create pages for a site

2.      Install the site

V.                 Data analysis and presentation

1.      Information gathering and research

2.      Analysis

VI.              Employability

1.      Careers in computing

2.      Employability skills in computing

3.      Foundations for applying to problem solving and actions

 

Embedded computer concepts:

1.                Critical analysis

2.                Research/critical information gathering

3.                Hardware and devices

4.                Storage

5.                Navigating

6.                Codes

7.                Using software to effectively solve problems (word processing, spreadsheets etc)

8.                Internet

9.                Email

10.                       Searches

11.                       Internet tools

12.                       Employability skills and using computers responsibly and ethically

Software and applications that are embedded and is used to complement the study of the concepts:

1.    Databases and Access

2.    Query language including SQL

3.    Office applications (word processor, presentation, spreadsheet)

4.    Logic development/programming tools such as LOGO, Alice and/or Game Maker

5.    Working with programming languages such as JavaScript and Visual Basic

6.    HTML introduction including developing a web portfolio and installing on server

7.    Collaborative software

8.    Other topics as time permits

Requirements:

Requirements and Grading: The student will be expected to complete all assigned work on time. Homework assignments will be due in a week unless otherwise specified. Quizzes, when given, will count as a homework assignment unless otherwise specified. In addition there will be a final exam. A schedule of assignments, projects, exams, quizzes etc. will be posted on the Web site in a weekly chart. Students should check on a regular basis. During a week, additions and changes to the week of chart should be anticipated.
Grading percents are:

§         80% Homework, programs, code and quizzes

§         10% Class participation, responsibility about work, keeping up to date, quality of work, adding extras that are above and beyond, showing initiative, figuring out problems etc.

§         10% Final

§         See extra credit service learning project opportunity at bottom of syllabus.

Evaluation:Assignments, programs and exams are graded using either number grades or letter grades based on the following (A=90-100, B=80-89, C=70-79, D=60-69, F=below 60). The student's grade for the course will use the same scale and will be based on the percentages explained in the grading section. Plus and minus grades will be given.

Many of the assignments in this class are open ended - the grading will be based on how well the project demonstrates mastery of the material. Students who do a minimum of work will be graded accordingly. Assignments are only accepted if they are credible work and meet the minimum requirements and standards for that assignment. Assignments that are not accepted can be resubmitted. Resubmission is allowed on graded assignments, with permission of the instructor. You cannot earn an A+ on an assignment that is resubmitted. The instructor will only accept, without penalty, resubmissions on credible work. Resubmissions must be done within a week to avoid additional penalties for late assignments.
Note: To achieve an A+, on open-ended assignments, students must have done sufficient extra work in development or implementation tot make the assignment standout. In doing assignments, students must do their own work. Relying too heavily on my examples or working too closely with someone else will be penalized.

Assignments are due the week after they are assigned. Late assignments will be penalized. If the assignment is one week late it will drop 10%, two weeks late will drop 20%, three weeks late will drop 30% and anything over 3 weeks late will drop 40%. For purposes of this class, the week will end at midnight on Sunday. The new week will start on Monday morning.


Attendance: Because this course can be taken over the web, in class, or a mixture of the two, attendance is based on email communication. Students must report their status once a week. This report can be combined with the submission of an assignment.


Methodology: This course is offered as an in class course or as a Distance Learning, course or as a course where the student can put together there own combination of in class and on line participation. For in-class students, it is a combination of lectures and interactive projects with supplementary information available on the Web. Web based students will be relying on the information at the Web site for the information being presented in class with interaction through a variety of on line techniques. Web based students are invited to attend class at any time if they feel that hearing a lecture would be valuable. Lectures are recorded and put online and Smartboard notes are captured and put on line. All students should read the assigned notes, study the presentations available and avail themselves of other resources at the web site in mastering the course material. In addition, students will be working independently on projects designed to give them additional computer skills and practical experience in analyzing and solving problems. When appropriate, exercises and problem solving techniques are used. This syllabus is not to be construed as a contract in any way, shape, manner or form. This syllabus contains a suggested course outline and will be generally followed, subject to change according to the instructor’s discretion and needs. Academic flexibility is important!

Interaction Plan: This is an asynchronous course with synchronous components if you decide to attend classes. Communication includes email , blog, IM including voice, and on line office hours and help sessions. Other methods of on line communications may also be used. In addition open lab help session are scheduled and students may request in person meetings.  Students must communicate with the instructor at least once a week via email and must turn in homework and participate in on line communication to be successful.

Service Learning Project Opportunity: Students with a strong mastery of LOGO, Alice or Game Maker are invited to participate in a Service Learning project for extra credit. Bristol Community College defines service learning as: "Service-learning is an unpaid, credit-bearing, course-specific educational experience for which students participate in a quality service-learning experience that does the following: meets actual community needs and requires reflection on the service activity that furthers the understanding of course content, broadens the appreciation of the discipline, and enhances the sense of civic responsibility." You would do this special project, including the reflection activity, as extra credit. It will involve preparing a project, working with students from a middle school and then reflecting on the project. I want you to think about whether LOGO, Alice and Game Maker are a good way to introduce middle school students to logic, programming and computers and the ways that BCC could set up and administer a project on a long term basis with young students using LOGO, Alice and Game Maker to create an interest in the computing field. Your response should be sent to me via email. Your work in service learning will be noted on your academic transcript.