ENES-171 Intermediate Programming Concepts for Engineers
This course will introduce students to
intermediate principles of software development and will include high level
languages, abstract data types, documentation, data structures, graphs, and
dynamic memory allocation. Students work in software development teams on
projects in the electrical and computer engineering fields. Program languages
such as C and Java will be used in a version control environment to design and
test code. Software development projects will involve relevant engineering
topics such as modeling, microprocessors, robotics, cryptography,
bioinformatics, embedded software, game programming, image processing, and
wireless sensor networks.
Prerequisite
ENES-100;
CMSY-141 with a grade of C or better or appropriate score on placement test
Notes
Students who have successfully completed MATH-181 in a previous semester should contact the Science, Engineering, and Technology division office to register.
Hours Weekly
3 hours lecture, 3 hours lab weekly
- 1. Develop robust and extensible software through effective software engineering practices.
- 2. Apply abstract data types and complex data structures.
- 3. Demonstrate the ability to independently learn new languages and libraries.
- 4. Create test suites and periodic builds, as a member of a team, using version control.
- 5. Use tools common to programming such as text editors, compilers, link-editors, and
debuggers. - 6. Demonstrate the ability to model software using standard documentation techniques.
- 1. Develop robust and extensible software through effective software engineering practices.
- 2. Apply abstract data types and complex data structures.
- 3. Demonstrate the ability to independently learn new languages and libraries.
- 4. Create test suites and periodic builds, as a member of a team, using version control.
- 5. Use tools common to programming such as text editors, compilers, link-editors, and
debuggers. - 6. Demonstrate the ability to model software using standard documentation techniques.