Syllabus

EMT1111-Logic and Problem Solving (Spring 2014)

CATALOG DESCRIPTION: This course introduces the foundations of problem-solving and computer programming as it is applied to electromechanical engineering technology. It provides a basic understanding of number systems and programming techniques with practical examples implemented in a modern programming language. Concepts are developed through hands-on laboratory exercises. 1 credit.

INSTRUCTOR: Dr. Carolyn Sher DeCusatis (Dr. Carolyn)
cdecusatis@gmail.com
http://decusatis.net/carolyn
Office Hours: Monday 11-12, Friday 2-3 (Room V643)
CLASS HOURS: Mon 12-1:40, 2-3:40

CLASS WEBSITE:
https://openlab.citytech.cuny.edu/EMT1111fall2014

TEXT BOOKS: Think Python: How to Think Like a Computer Scientist (Interactive Edition)
By Allen B. Downey
Green Tea Press
Free Book: http://interactivepython.org/runestone/static/thinkcspy/index.html

App Inventor: Create Your Own Android Apps
By David Wolber, Hal Abelson, Ellen Spertus, Liz Looney
O’Reilly Media (2011) – Paperback – 383 pages – ISBN 1449397484
A pre-publication draft of this book can be found here: http://www.appinventor.org/projects

GRADING: Quizzes: 20%
Labs: 20%
Midterm Exam: 20%
Project: 20%
Final Exam: 20%

GRADE SCALE:
A – 93-100,
A- – 90-92.9,
B+ – 87-89.9,
B – 83-86.9,
B- – 80-82.9
C+ – 77-79.9,
C – 70-76.9,
D – 60-69.9,
F – <=59.90

QUIZZES
There will quizzes assigned based on the material covered during the lecture as well as the assigned readings. These quizzes will be taken online using Blackboard and you can take them anytime before the deadline.

LABS
There will be different labs assigned where you will apply the lessons learned in class. When finished, each lab must be posted on your OpenLab portfolio. The student’s portfolio should contain a tab named EMT1111. Under that tab, a page for each lab should be created. Each page must contain the following items: a description of the program/App, a picture of the program/App running, the source code (Python) or the blocks diagram (AppInventor). You must show your program/App running to your professor to receive full credit. Late labs will not be accepted and labs will be graded individually.

MIDTERM
A midterm exam will be administered to test the knowledge acquired up to half of the semester. Students are required to take exams the day and time they are scheduled. There is no make-up exam unless you have a valid reason according to CityTech’s policy.

PROJECT
There will be one project where you will develop a program or App using the skills learned in the course. For the project you will work in groups and the requirements are similar as for labs: a description of the program/App, a picture of the program/App running, the source code (Python) or the blocks diagram (AppInventor). You must show your project program/App running to your professor to receive full credit.

FINAL EXAM
There will be one final examination at the end of the semester. This is a comprehensive exam covering material from the entire semester.

HOMEWORK, QUIZZES, MIDTERM, AND FINAL EXAMINATION APPOINTMENT
There will be no make-up of missed homework, quizzes, midterm, and final examination unless you have a valid reason according to CityTech’s policy.

ATTENDANCE
Under CUNY mandate, attendance for each class is required and attendance will be taken at each class meeting. You are allowed a maximum of 3 absences. If you exceed that number, you may receive a WU grade. If for any reason you miss a class, it is your responsibility to review all the material covered in the class and to complete the corresponding reading and programming assignments. Excessive lateness (more than 15 minutes) will be considered to be an absence from that class meeting.

IN CLASS EXPECTED BEHAVIOR
Students should show respect to each other and to the professor. The use of phones for talking and texting during the class is prohibited, except when you are programming or testing a program (App) directly into your phone. Please make sure you put your phone on silent mode or to turn it off. Please refrain from accessing sites such as Facebook, Twitter, YouTube, or playing games while in class. Use your computer to work on the class projects and tutorials, to find information that allows you to either participate on class or to understand the concepts studied in class.

TOPICS
Week 1: Syllabus, objectives, and policies. The class website, Blackboard, basic computer skills, get an OpenLab account, create your portfolio, more details about computer engineering technology

Week 2: Computers, Hardware, Software, Bits and Bytes, Data (storing and transmitting), Programming Languages, and Computer Networks.

Week 3: Programs, Algorithms, The Programming Process, Variables, Statements and Expressions, Data types, Operators

Week 4: Boolean Logic, Boolean expressions, Logical operators, If and if/else statements, Loops

Week 5: Functions, Built in functions, User defined functions, Abstraction, Reusability, Parameters and arguments, Returning values, Variables Scope.

Week 6: Strings, Traversing strings, String slices, Lists, Traversing a list, Lists operations, Lists slices

Week 7: Midterm exam

Week 8: App Inventor Setup, What is an App, Event driven programming, Components and properties, Events and event handlers, Calling built-in function blocks, Reference Documentation site

Week 9: Variables, Parameters, Operators, Drawing Canvases, Working with images and sound, Algorithms

Week 10: Software engineering principles, Comments and documentation, Timer Events, Canvases and Image Sprites, Moving Objects over Time, Drag and Touch Events. Project Selection

Week 11: Boolean expressions, Relational operators, If and If/else statement

Week 12: Procedures and functions, Lists of data, Iterating a list with an index, Lists of lists

Week 13: Loops, While, For Each, For Range, Databases, TinyDB, TinyWebDB

Week 14: Project Presentation

Week 15: Final Exam

NOTE: The instructor reserves the right to modify the syllabus anytime.

One Response to Syllabus

  1. Hess Joseph says:

    Looking forward to this class. Programming is not my thing but I was looking through the python book and i’m intrigured.

Leave a Reply

Your email address will not be published. Required fields are marked *