Argument opcjonalny to w języku komputerowym taki argument, który może zostać specyfikowany w wywołaniu podprogramu, lub może zostać pominięta specyfikacja wartości tego argumentu. Definiując podprogramdotyczy także programu (modułu) głównego, zwykle do komunikacji podprogramu z otoczeniem, programista równocześnie deklaruje odpowiednie parametry tego podprogramu. Najczęściej w wywołaniu takiego podprogramu, należy specyfikować listę argumentów, które zostaną skojarzone z parametrami i użyte w wykonaniu tego podprogramu. Argumenty te są wymagane i muszą być podane w kodzie źródłowym. Liczba argumentów wymaganych musi być zgodna z liczbą parametrów zawartych w definicji podprogramu, a brak takiego argumentu będzie sygnalizowany przez translator jako błąd. Istnieją jednak języki, których składnia umożliwia definiowanie argumentów opcjonalnych. Jeżeli taki argument zostanie podany na liście argumentów, to wartość tego argumentu zostanie użyta w podprogramie. W braku argumentu, programista musi przewidzieć inny sposób uzyskania pożądanej wartości.