Instructor: | Erik Brunvand, elb 'at' cs 'dot' utah 'dot' edu, MEB 3142 |
Office Hours: | After class and by appointment |
Class: | Official Meeting Time: T-Th 12:25-1:45 MEB 3143 (Sr. HW Lab) We'll meet in the lab for the first week, then arrange for separate meeting times for each team. We'll occasionally meet as a class for in-progress presentations. |
Web Page: | http://www.eng.utah.edu/~cs4710 (right here!) |
Academic Misconduct
Note that the School of Computing has adopted a tougher stance on academic misconduct you will need to read the policy and print and sign the form. At this point in your program, I assume that everybody already has this form on file with Arlene. If you don't, for some reason, you need to turn this form in to Arlene Arenaz (the CE academic advisor) by Friday, August 29.
For 4710, academic misconduct means
representing work that is substantially copied from an
outside source as your own. Since this course is all about
completing self selected projects that were proposed in
3992, this is not likely to be a problem. However, if you've
made use of information from other sources (friends,
colleagues, web tutorials, similar projects from other
sources, manufacturer's examples, etc.) then
you must cite that source
in your final documentation. If you use text which is
slightly modified or copy diagrams that you find on the web
then the source of this
information must be
cited. Best practice for
textual work is to cite information obtained elsewhere and
provide the full reference in a bibliography. For copied
diagrams used in either your final report, your slides, or
your final poster, then best practice is
to cite the
source in the caption or
as text associated with the
diagram. This is not an optional
practice.
follow the College guidelines. They're very strict so make sure you get the facts.
Prerequisites: "C-" or better in CS/ECE 3992 AND CS/ECE 5780 AND Full Major status in Computer Engineering
From the course catalog: This is the capstone team project course for Computer Engineering majors who do not choose to do a thesis or an ECE clinic. The CS/ECE 3992 teams remain intact and the goal is too build and demonstrate the project that was proposed and approved in CS/ECE 3992. Students in this class do not meet in a classroom setting. Each team will meet with the instructor once each week for approximately 1 hour to discuss progress and/or problems as well as demonstrate scheduled milestone results. At the end of the term students are expected to demonstrate their entire operational project to an open house crowd of interested faculty and students. Friends and family are also welcome to attend. A final written report is also turned in which documents the details of all aspects of the project.
Date | Topic / Agenda | Links, Assignments, and Due Dates |
8/26, 8/28 | Logistics discussion and scheduling | Meeting time: 12:25-1:45 in the Sr. HW Lab |
Week of 9/1 | Meetings with each team (schedule above) | |
Week of 9/8 | Meetings with each team | |
Week of 9/15 | Meetings with each team | |
Week of 9/22 | No meetings this week | Erik out of town 9/24 - 9/28 |
Week of 9/29 | Meetings with each team | |
10/7, 10/9 | Progress report presentations | Meeting time: 12:25-1:45 in the Sr. HW Lab |
Week of 10/13 | Fall Break - no meetings! | |
Week of 10/20 | Meetings with each team | |
Week of 10/27 | Meetings with each team | |
Week of 11/3 | Meetings with each team | |
11/11, 11/13 | Progress report presentations | Meeting time: 12:25-1:45 in the Sr. HW Lab |
Week of 11/17 | Meetings with each team | |
Week of 11/24 | Thanksgiving week - no meetings | |
Week of 12/1 | Meetings with each team | |
Week of 12/8 | Dress Rehersal Meetings with each team | Have your posters ready to print! |
Friday, 12/12 | DEMO DAY! (schedule TBD) |
Hitting your scheduled milestones | - | 10% |
Quality of final project | - | 55% |
Final project report | - | 20% |
Final project poster | - | 5% |
Website and web logs | - | 5% |
Demo day performance | - | 5% |
Note that although the grades will be given on a per-group basis, there will also be a team-evaluation by every team member. Based on that evaluation, individual grades may be adjusted based on relative effort/participation of group members.
Bill Thomson recommends the following books in his excellent "Technical Communications in Computer Science" class
Other writing resources: Prof. Furse in ECE has put together some resources here.
Still more writing resources: The College of Engineering CLEAR center at the University of Utah
Every year there are a number of remedial things that some students have either not been taught or have just forgotten. Fortunately in our video bonkers world, there are a wide variety of instructional videos that can be utilized to get you up to speed quickly. Here are some pointers to videos for problems that have been common in the past. A great website in general is CuriousInventor.com where you will find tools, materials, and instructional videos on many of the topics you should probably care about.
Soldering
Most students have done some hardware prototypes using a prototype board where wires are just pushed into ZIF (zero insertion force) sockets. While this is a reasonable prototype approach it suffers from several disadvantages when compared to soldering and printed circuit boards: the ZIF socket adds both increased capacitance and inductance to the connection, ZIF protoboards tend to use longer wires which act as antennas and cause the circuit to be sensitive to inductive and capacitive coupling which distorts the signal in ways that can cause failure, and the ZIF prototype is not very robust since wires can just as easily be removed as they were to insert.
If you don't know soldering basics check
out: soldering video. This works for through hole
components.
There are lots of surface mount components with much finer
geometry. For a drag soldering demo for .5 mm pitch SMT packages
see: drag
soldering video.
For more sophisticated soldering of packages such as QFN (Quad Flat
No-Lead) packages
see: QFN
soldering video. This video also provides temperature profiles
as well as some other useful information about tools and fluxes. It
also illustrates where you can have solder masks made. For more
information and using different packages that duplicates some of the
previous information but gives a good overall view of serveral
soldering and desoldering techniques check
out more
soldering info.
For more sophisicated soldering techniques for things like BGA (Ball
Grid Array) packages you could use the same tactics as for QFN
packages but fortunately you are lucky since in Al's lab in 2180 we
have a fairly sophisticated set of BGA rework equipment - there is a
learning curve for this stuff but it works great if you have complex
components. Note that if you choose BGA components you will need to
make a printed circuit board.
Desoldering
Screwups happen and sometimes you'll need to desolder
something. There are typically 5 methods - from simplest to most
sophisticated they are solder wick, vacuum desoldering, vacuum
desoldering tip, ChipQuick, and hot air or infrared reflow.
Desoldering using a wick (we have wicks in the lab) - see the
"more soldering info" link above which has some nice tips
for this technique.
Desoldering using a vaccum desoldering device (Al has this stuff in
his lab) -
see vacuum
desolder video.
A desoldering tip is just a tip that hits all leads at once on the
DIP (dual inline package) and has a vacuum which when the chip
releases sucks it up into the tip and off the board.
ChipQuick is solder that stays molten for a long time - you just
apply it to the contacts heat it up and it keeps the actual solder
molten allowing you to remove the component. The "more
soldering info" link about also demonstrates this
technique.
Lastly if you use thermal or infrared reflow then you should use the
BGA work station in Al's lab. The technique is simple although the
learning curve for the equipment is a bit more time
consuming. Basically the appropriate sized hood is lowered over the
part to be removed, the area under the hood is heated to melt or
"reflow" the solder and a spring loaded vacuum pad lifts
the part off the pads when all of the pads release.
Oscilloscopes
Amazing as it may seem at this stage of your CE career, there are
people who don't really know how or why to use an oscilloscope. As
digital geeks we all tend to think of the world in terms of 0's and
1's at the lowest level but even digital circuits exhibit behavior
that is far from this 0 and 1 abstraction. When your circuit
doesn't work as planned, an oscilloscope lets you see where this
abstraction breaks down.
If you really don't know what an oscilloscope does, look at
the what is an
oscilloscope video.
Note that all oscilloscopes essentially do the same thing but the
controls take a bit of time to figure out. Let's say you're
familiar with a Tektronix scope and the one you now have to use is
an Agilent scope - you'll likely find out that the knobs are in
different locations and there may be more or less options. In
essence this is a 10 minute problem. For a basic operation tutorial
check out
the O'scope
basics video.The major difference between oscilloscopes is how
fast they can measure something and whether they are digital
sampling devices (most common now) or older analog units. If the
frequency of what you're looking at exceeds the scope speed then
you'll need to find a faster scope. For many digital sampling
scopes (such as the ones in the Sr. HW Lab) increasing the
volts/division on the vertical axis also increases the sampling
frequency which allows you to see things that might not be seen at a
slower sampling rate. A common problem that many students run into
is a somewhat crazy jittery display - this is caused by incorrect
triggering and if you go to a single sweep the problem will go
away. The triggering options on the lab's scopes are not as good as
they should be in my opinion.
And finally for some more advanced things that are often a puzzle to
most but not all 4710 students -
see Adv. O'scope
video. I love it that at the end the video, the presenter
claims that you'll know more than I do about oscilloscopes. I love
it when this happens, mostly because that's the whole goal for most
teachers.
Hopefully these videos will get you close to where you need to be
but when all else fails (oh that might be Google and YouTube)
there's always the manual.
When hardware prototypes seem to be misbehaving
in bizarre ways, the most common culprit is:
The bottom line here is that an oscilloscope is a very useful device and you should know how to use one. The virtualized educational material that you get in a simulated world is a great start but the simulator doesn't prepare you to deal with real implementations unless your simulation goes to the trouble of accurately modeling every wire, every component, and every aspect of the circuit board and the enironment that it will operate in. There is one gotcha however. I've seen numerous projects where the student says my circuit works with the test equipment attached but fails when the test equipment isn't attached. What's going on here? Every time to attach a scope or logic analyzer probe to a circuit pin it adds a very small capacitance to that connection. Hence adding a capacitor of the appropriate value at this spot will likely help.
Most projects involve micro-controllers of some sort - they vary from the ultra-simple ones you find on Arduino platforms to more fully featured (and more complex to figure out) devices from manufacturers such as Freescale and Motorola. A common mistake is to choose a micro-controller because it is cheap - actually this is a BIG mistake since the processor may be too slow to do what you need it to do and may not have enough memory to hold your code and data. Until you know exactly what you need to accomplish your project goals, it's a good idea to spend a bit more and give yourself some headroom to avoid future time-consuming headaches later.
Finally - most digital projects don't require high currents in wires but if you find that some wires OR components are getting warm then there is a problem that has to be fixed ASAP. If a wire is warm then it's too small for the current it's carrying. For wire gauges (the smaller the number the bigger the wire and the more current it can carry) there are standards for how much current the wire can carry before it starts to become a fuse - check here for a handy table.