We were given a task to use lists and iterators. We were supposed to make them from scratch. I'm done with that. The problems that I'm having are as following:

  1. I'm not able to access the list made of Course datatype which is present in each Student instance. Does this mean I need to make an iterator for that course list inside the student class?

  2. Similarly since I don't have direct access to The course list so I added the course into the Student list through the student objects not through the iterator. How can I do it through the iterator?

  3. Printing of a particular student and his courses is not happening as my iterator made for student only prints out the students, not the courses present in their courselist. How to do that?

Here's the code:

#include <iostream>
#include <string>
using namespace std;

const int ILLEGAL_SIZE = 1;
const int OUT_OF_MEMORY = 2;
const int NO_SPACE = 3;
const int ILLEGAL_INDEX = 4;
const int ILLEGAL_REFERNCE = 5;

template <class T>
class ListIterator;

template <class T>
class OrderedList {

    friend class ListIterator<T>;


    int maxSize;
    int currentSize;
    T *listArray;
    bool removeAt(int index) {  

        if(index < 0 || index >= currentSize) throw ILLEGAL_INDEX;

        else {

            for(int i=index;i<currentSize;i++) 

                listArray[i] = listArray[i+1];

            return true;


    OrderedList(int size);
    OrderedList(const OrderedList& copy);
    void setData(T s);
    T getData(int i);
    int getCurrent() { return currentSize; }
    bool isFull();
    bool isEmpty();
    int isPresent(T value);
    void ...


What would I need to make such programs.I've got no clear idea where to start. Plus the pre-reqs required for it. Suppose I make the first program that converts the sound into musical notation. Where would I start?

Is it really difficult to make a program like JamUp that creates a virtual multi effect processor?. Where would I start for this also?

Wow that's great. I can only play the guitar and bass for now. I'm not that great though haha. I do plan on learning the piano. I'm really into Classical,prog rock and a bit of alternative music.

p.s If you dont know what jamUp is, heres a link: https://itunes.apple.com/us/app/jamup-xt-multi-effects-processor/id449820506?mt=8

This is the first time i'm posting here
I'm doing my bachelors in C.S and currently I'm in my second year. I realize I've a lot of time to think about my FYP. But I want to start gathering ideas about it so that when the time comes I'll be pretty sure about the topic that I'm going to work on. I also play the guitar so I was thinking of doing something related to music. Two ideas that I had in mind include:

  1. Building a program that takes a MIDI file of a passage of music for guitar as input and outputs tablature that correctly describes how the passage should be played.
  2. A program that imitates the sounds of different guitar effect pedals (distortion, delay etc).

If anyone can give some more ideas related to music and guitar then that would be great. Currently I can program in Java,C++. I have basic knowledge about Android development

I realize I may not have the enough skills needed for the needed project now, but I just want to gather ideas about what is possible and what can be done.