I am in the process of transferring universities right now as the one I am at is not taking me where I want to go. I would like to know if you feel that the cattle drive would be accepted by a university as an acceptable substitute for a single semester Java course? The cattle drive sounds excellent, but $200 is a lot to shell out if I can't get credit towards my degree with it. They are pretty flexible I believe, as long as the material is covered.
Here is a little overview on the course in particular:
Course:Software Development 2
Rationale Software Development 2 builds on the unit Software Development 1 to the entry level needed by all majors. The unit prepares you for the more advanced theory and data structures of Software Development 3 for the Software Engineering and Data Communications majors and provides a foundation in key java classes. Since successful software development relies on reuse of one's own code and of 'third party' software libraries, Software Development 2 extends programming skills in more complex environments while actually doing less coding and relying more upon reuse. Thus this unit prepares you for future programming units in any major involving sophisticated data structures, industry standard 3GL languages, or large-scale software engineering.
Aims This unit aims to extend your understanding of programming. You should develop further skills in object-oriented programming, and understand the concepts of data aggregation and manipulation - as expressed in the abstract and through formal specification, and through their implementation in an object-oriented programming language.
Objectives The learning outcomes for this unit are that you should be able to:-
1. Understand the separation of specification and implementation in programming;
2. Understand the use of formal notation in specification;
3. Appreciate the versatility of a small number of generic ways of organising data into Abstract Data Types (ADTs), eg stacks, sets, "data sets" or tables;
4. Critically compare alternative implementations of these ADTs.
and that you should be able to use Java to:
5. Write programs that use multiple classes;
6. Implement various Abstract Data Types (ADTs);
7. Develop a coding style suited to Object-Oriented programming and re-use;
8. Use advanced language features such as recursion, file handling and exceptions, and write code to manipulate linked data structures;
and that you should be able to use appropriate mathematical notation to:
9. Read and write formal specifications expressed in the refinement calculus notation;
10. Analyse the time complexity of alternative implementation data structures and associated algorithms.
You will gain or improve your skills in the following areas:
11. Knowledge and skills in this discipline;
12. Problem-solving skills;
13. Ability to use specific sources (application programming interfaces) to facilitate problem solving;
14. Time management and self-assessment skills.
Thank you very much if you answer this, I know you all are very busy with peoples assignments and undoubtably many other things, and I appreciate your help.
- Ray [ August 13, 2004: Message edited by: Ray Muirhead ]