https://www.goodreads.com/quotes/7854941-if-you-are-the-smartest-person-in-the-room-then
If it's too easy, or too hard - you're in the wrong class.
The usual bell curve of ability will be in your class, just the same as anywhere else. So your tutor is going to be pitching to the middle regardless.
I suppose you could be content that you're an outlier on the positive side - but you'd be missing an opportunity. Feel for the poor souls at the other end of the curve, still scratching their heads at "hello world".
Talk to your tutor to see if there is an advanced or accelerated stream you can join.
> Any thoughts?
Find an open source project you like and contribute.
Well, find several to start with and just lurk on the developer lists to get a feel for how well the project is run. Pick one where you think you could work with the rest of the team.
Programming is SO much more than simply knowing where the curly brackets go.
https://en.wikipedia.org/wiki/Software_development
All that stuff in the right hand pane, you at least need some level of awareness of, and some degree of expertise in if you're an actual working coder.
You have to contend with:
- requirements (more than a few bullet points on 1/2 page of A4 from your tutor)
- design (more than a back of an envelope sketch)
- coding time (over weeks, not a single sitting)
- large code bases of 100's to 1000's++ files (homework is a handful at best).
- source control systems (git, perforce, ...), learn about commits, branches, merges.
- working with other people (homework is a solo effort).
- style guides, making sure your changes are seamless with everyone else's.
- testing (more than 5 minutes). Continuous Integration systems usually come with extensive test suites. Expect your early submissions to break something you didn't plan to break.
- cross-platform development, so expect your "it worked on Windows" to break the Linux build at some point.
Knowing this stuff will be more important in the long run than a list of bullet points ticking a list of languages.