Syllabus

CET4711: Computer-Controlled System Design

General Information

Instructor : Prof. Benito Mendoza
Lecture/lab : Monday 2:30pm – 5:00pm
Office : V620
Office Hours : Thursdays 10:00am – 11:00pm,
Wednesdays 10:00am – 11:00am, or by appointment
Email : bmendoza@citytech.cuny.edu
Phone : 718-260-5885
websitehttps://openlab.citytech.cuny.edu/cet4711f14/

Prerequisite : CET3510, CET3625, MAT2680,
Pre- or co-requisite : CET4705

Credit Hours : 1 class hour and 2 lab hours per week, 2 credits

Course Description and Objectives

The capstone course introduces students to the concepts of computer controlled system design and project management. The course focuses in the application of electric circuits, computer programming, software applications, analog and digital electronics, microcomputers and microcontrollers, networks, and engineering standards to the designing, building, testing, operation, and maintenance of computer systems and associated software systems. The course is divided in three parts as follows:

PART I Project Management and Final Project Definition. This part provides an overview of key project management concepts with a specific orientation towards the design software and computer controlled systems.

PART II Microcontrolers and computer based control. This part introduces tools and methodologies for programming and developing applications that interact with physical control (humans and devices) and other software applications, locally and remotely.

PART III Introduction to Wep application development. This part introduces all the basic technologies that are used for creating modern webapps, we will focus on interactive web applications to control physical systems.

Prerequisites

Being a capstone course, we assume the student has a good knowledge about electric circuits, micro-controllers, mechanical design, networks, etc. These topics will be briefly reviewed when needed but will not covered in deep.  This class will cover the development of web applications using the Python/Flask and Heroku. We cover all the basic technologies that are used for creating modern webapps. This part of the class is introductory and no previous knowledge of web technologies is assumed. We assume that the student can program at least at a basic level. However, we will review basic programming concepts.

You have to bring your own computer to class. For final project you will need to acquire your own material (boards, sensors, etc.)

Course Learning Outcomes

Upon completing this course, the learner will be able to meet these overall objectives:

  • Ability to analyze, design, and implement hardware and software computer systems.
  • Ability to apply project management techniques to computer systems.
  • Make combined use of computer programming techniques, software applications and APIs, analog and digital electronics, microcontrollers, computer networks, and engineering standards to design and build computer-controlled systems.
  • Ability to utilize statistics/probability, transform methods, or discrete mathematics, in support of computer systems and networks.
  • Design and develop interactive systems
  • Design and develop interactive Web applications

References

  • Miguel Grinberg. Flask Web Development: Developing Web Applications with Python, O’Reilly Media, April 2014
  • Joshua Noble. Programming Interactivity (2nd. Edition). O’Relly. 2012
  • Michael Margolis. Arduino Cookbook (2nd. Edition). O’Relly. 2011
  • Robert Faludi. Building Wireless Sensor Networks: with ZigBee, XBee, Arduino, and Processing. O’Relly. 2010
  • Allen B.Downey. Think Python: How to Think Like a Computer Scientist. O’Reilly, 2012 (Free online version)
  • http://en.wikipedia.org/wiki/Project_management
  • http://en.wikipedia.org/wiki/Time_management
  • http://docs.python.org/ (Python Docs)
  • http://flask.pocoo.org/
  • http://www.codecademy.com/
  • https://developer.mozilla.org/en-US/docs/HTML (HTML at Mozzilla Developer Network)
  • https://developer.mozilla.org/en-US/docs/JavaScript (Java Scrip at the MDN)
  • http://docs.jquery.com/Main_Page (jQuery Docs)
  • http://git-scm.com/book (The Git book)

Notes

  1. The instructor reserves the right to modify this outline anytime.

One thought on “Syllabus

  1. Hello, you used to write fantastic, but the last few posts have been kinda boring… I miss your tremendous writings. Past several posts are just a little bit out of track! come on!

Leave a Reply

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