To create the calendar, you could setup a loop like this:
<cfloop index="x" from="1" to=#daysinmonth(now())#>
...... additional formatting and code here .........
#month(now())# / #x# / #year(now())#
<cfoutput query="lectures">.....</cfoutput>
<p><hr>
......... additional formatting and/or code here ........
</cfloop>
Within this loop, you could query your tables to get any lectures for each day like this.
<cfloop ....
<cfquery name="lectures" ...>
select * from ....
where lectureDate = #createodbcdate("#month(now())#/#x#/#year(now())#"

#
</cfquery>
.......... code from above ......
</cfloop>
I don't like this approach because you end up querying your database for every day in the month but I don't see a way to do one query and be able to loop through it and have a record for each day in the month. I'm assuming you want a full calendar and not just one showing days where there are lectures.
Let me know if this helps.
GJ