the \title command you're using doesn't actually typeset the title. I guess what you're looking for is \maketitle.
\documentclass{article}
\begin{document}
\title{The Title of the Homework Assignment}
\maketitle
\end{document}
see also http://en.wikibooks.org/wiki/LaTeX/Title_Creation
edit
I realized you basically have two questions: (1) how to prevent the page break before \maketitle, and (2) how to give the title a more title-like look.
As for (1), I suggest you abandon \title, \maketitle altogether and use the titlepage environment instead. I've been using *TeX for 12 years now and never found a particular reason to use these.
As for (2), the answer depends on typographic taste to some degree. I, for one, would really disadvise against what you're trying to do -- for what you're trying to do is mix no less than three types of text alignment within one or two pages: left, center, right. For my money, the basis for a decent titlepage is something like this:
\documentclass[11pt]{article}
\begin{document}
\begin{titlepage}
\begin{raggedright}
My Name\\
Name of Class I'm Taking\\
The Date\\
The Professor\\[3\baselineskip]
\textsf{\textbf{The Title of the Homework Assignment}}\\
\textsf{Subtitle of the Homework Assignment}\\
\vfill
Some Additional information if desired
\end{raggedright}
\end{titlepage}
\end{document}
...but I'm a minimalist; other people might disagree and, e.g., increase the title's font size (\large). Some people might feel like giving their titlepage a 19th-century look, using \begin...end{center} instead of raggedright -- and center page numbers and headings in the rest of the document as well for consistency.